Konrad Gos

Konrad Gos jestem jaki jestem

Temat: Wyszukiwarka w bazie danych

Mam bazę po wybraniu sprzedawcy pokazują mi się rzeczy danego sprzedawcy
Chciałem zrobić adekwatnie dla modeli ciagników ale coś nie działa

Czy ktoś mógłby spojrzeć

<?php
if($_POST['sprzedawca'])
{
$sprzedawca = mysql_real_escape_string($_POST['sprzedawca']);
$_SESSION['podglad_sprzedawcy'] = $sprzedawca;
if($sprzedawca != 'wszyscy')
{
$sql = "SELECT * FROM zamowienie WHERE sprzedawca='".$sprzedawca."' ORDER BY id ASC";
}
else
{
$sql = "SELECT * FROM zamowienie ORDER BY id ASC";
}
}
else if($_SESSION['podglad_sprzedawcy'])
{
$sprzedawca = mysql_real_escape_string($_SESSION['podglad_sprzedawcy']);
if($sprzedawca != 'wszyscy')
{
$sql = "SELECT * FROM zamowienie WHERE sprzedawca='".$sprzedawca."' ORDER BY id ASC";
}
else
{
$sql = "SELECT * FROM zamowienie ORDER BY id ASC";
}
}
else
{
$sql = "SELECT * FROM zamowienie ORDER BY id ASC";
}
$result = mysql_query($sql); $sql = "SELECT * FROM member WHERE status='sprzedaz' ORDER BY username ASC";
$sprzedawcy = mysql_query($sql);
?>

<?php
if($_POST['model_ciagnika'])
{
$sprzedawca = mysql_real_escape_string($_POST['model_ciagnika']);
$_SESSION['podglad_model_ciagnika'] = $model_ciagnika;
if($sprzedawca != 'wszyscy')
{
$sql = "SELECT * FROM zamowienie WHERE model_ciagnika='".$model_ciagnika."' ORDER BY id ASC";
}
else
{
$sql = "SELECT * FROM zamowienie ORDER BY id ASC";
}
}
else if($_SESSION['podglad_model_ciagnika'])
{
$sprzedawca = mysql_real_escape_string($_SESSION['podglad_model_ciagnika']);
if($sprzedawca != 'wszyscy')
{
$sql = "SELECT * FROM zamowienie WHERE sprzedawca='".$model_ciagnika."' ORDER BY id ASC";
}
else
{
$sql = "SELECT * FROM zamowienie ORDER BY id ASC";
}
}
else
{
$sql = "SELECT * FROM zamowienie ORDER BY id ASC";
}
$result = mysql_query($sql); $sql = "SELECT * FROM member WHERE model_ciagnika='sprzedaz' ORDER BY username ASC";
$sprzedawcy = mysql_query($sql);
?>

<h2 class="section_title">Lista zamówień</h2>
<hr class="title" />

<?php if($message == 'ok'):?>
<div class="success">Usunięto zamówienie</div>
<?php elseif($message == 'error'):?>
<div class="error">Wystąpił błąd podczas usuwania zamówienia</div>
<?php endif;?>
<form action="panel_admin.php" method="post">
Wybierz sprzedawcę:
<select id="sprzedawca" name="sprzedawca">
<option value="wszyscy" <?php if($sprzedawca == 'wszyscy') echo 'selected="selected"'?>>wszyscy</option>
<?php
$count = mysql_num_rows($sprzedawcy);
for($i = 0; $i < $count; $i++)
{
$val = mysql_result($sprzedawcy, $i, 'username');
echo '<option value="'.$val.'"'.($val == $sprzedawca ? 'selected="selected"' : '').'>'.$val.'</option>'; }
?>
</select>
<input type="submit" id="post" name="post" value="Wybierz" />
</form>

<form action="panel_admin.php" method="post">
Wybierz model:
<select id="model_ciagnika" name="model_ciagnika">
<option value="wszyscy" <?php if($model_ciagnika== 'wszyscy') echo 'selected="selected"'?>>wszyscy</option>
<?php
$count = mysql_num_rows($model_ciagnika);
for($i = 0; $i < $count; $i++)
{
$val = mysql_result($model_ciagnika, $i, 'username');
echo '<option value="'.$val.'"'.($val == $model_ciagnika ? 'selected="selected"' : '').'>'.$val.'</option>'; }
?>
</select>
<input type="submit" id="post" name="post" value="Wybierz" />
</form>
Łukasz Schabek

Łukasz Schabek Architekt Rozwiązań

Temat: Wyszukiwarka w bazie danych

Konrad Gos:
Mam bazę po wybraniu sprzedawcy pokazują mi się rzeczy danego sprzedawcy
Chciałem zrobić adekwatnie dla modeli ciagników ale coś nie działa

Czy ktoś mógłby spojrzeć

Proszę, używaj tagów BBCode: http://www.goldenline.pl/popup/BBCode.html

Co nie działa w Twoim kodzie? Dostajesz jakieś błędy?
Konrad Gos

Konrad Gos jestem jaki jestem

Temat: Wyszukiwarka w bazie danych

Niestety nie pokazuje dostępnych modeli w kolumnie model ciagnika
nie mówiąc już o wyszczególnieniu ich w tabelce
Marcin Miga

Marcin Miga Programista. Po
prostu programista.

Temat: Wyszukiwarka w bazie danych

A gdzie masz analogiczne do:
$sprzedawcy = mysql_query($sql);
ale z $model_ciagnika?
Łukasz Schabek

Łukasz Schabek Architekt Rozwiązań

Temat: Wyszukiwarka w bazie danych

A czy dostajesz jakieś błędy PHPowe? WARNING lub NOTICE?

Jak na pierwszy rzut oka coś jest nie tak ze zmienną $model_ciagnika..

W jednym miejscu używasz jej jako String:

$sql = "SELECT * FROM zamowienie WHERE model_ciagnika='".$model_ciagnika."' ORDER BY id ASC";


A w drugim jako rezultat zapytania z bazy:

$count = mysql_num_rows($model_ciagnika);


Czy w drugim przypadku nie powinieneś użyć zmiennej $result jako argumentu funkcji mysql_num_rows()?
Marcin Mackiewicz

Marcin Mackiewicz Programista JAVA, RS
Adware Polska

Temat: Wyszukiwarka w bazie danych

Wszystko było by ładnie pięknie gdyby kolega nie powtarzał tyle razy tych samych zapytań. Powiek krótko że w konstrukcji if można użyć jeszcze logicznie 'i' ( && ) oraz 'lub' ( || ) co bardzo ułatwia sprawę.

Co do przedstawionego przykładu może nie pokazywać danych modeli ponieważ w jednej ze ścieżek zapytanie ma w WHERE sprzedawca='".$model_ciagnika."' ...
Ciężko znaleźć informacje o modelu ciągnika jeżeli szuka się nie w tej kolumnie co trzeba (wnioskuje z identycznego zapytania parę linii wyżej.

Dodatkowo jeżeli wykonujesz takie zapytania to może lepiej napisać sobie funkcję np.:
/**
* @param string $zKolumny Na podstawie jakiej kolumny w bazie sukam
* @param string $co Wartość do wyszykiwania
* @return mixed Wynik zapytanie lub false
*/
function getData($zKolumny, $co) {

}


I użyć zapytania SQL typu:
$sql = "SELECT * FROM zamowienie WHERE $zKolumny='$co' ORDER BY id ASC"
Marcin Mackiewicz edytował(a) ten post dnia 26.11.11 o godzinie 01:33



Wyślij zaproszenie do