Hallo,
ich will die Antwort aus meiner PHP abfrage sortieren.
bisher wird gleich bei der auswertung sortiert über "order by"
- ich will aber, dass es oberhalb der angezeigten ausgabe tabelle eine sortierfunktion gibt.
irgendwie so?
<p>Ergebnis Sortieren nach: <input type="radio" name="sortieren" value="preis" checked>Preis <input type="radio" name="sortieren" value="ort">Ort <input type="radio" name="sortieren" value="sterne">Sterne</p>
______________________________________________
hier mein php formular mit Order by:
<html>
<body>
<?php
// deklaration/definition der Variablen
$preis = isset($_POST["preis"]) ? $_POST["preis"] : null;
$sterne = isset($_POST["sterne"]) ? $_POST["sterne"] : null;
$see = isset($_POST["see"]) ? $_POST["see"] : null;
$sortieren = isset($_POST["sortieren"]) ? $_POST["sortieren"] : null;
$ort = isset($_POST["ort"]) ? $_POST["ort"] : null;
$verpflegung = isset($_POST["verpflegung"]) ? $_POST["verpflegung"] : null;
$airfn = isset($_POST["airfn"]) ? $_POST["airfn"] : null;
mysql_connect();
mysql_select_db("firma");
if(!empty($ort)){
$sqlab = "SELECT name, infoseite, bild, typ, sterne, ort, preis, beschreibung FROM gastgeber";
$sqlab .= " WHERE preis <= '".$preis."'";
$sqlab .= " AND sterne >= '".$sterne."'";
$sqlab .= " AND see <= '".$see."'";
$sqlab .= " AND airfn <= '".$airfn."'";
$sqlab .= " AND verpflegung <= '".$verpflegung."'";
$sqlab .= " AND(";
foreach ($ort AS $key => $_value){
if( !empty( $_value ) ) {
$sqlab .= ($key>0?" OR":"")." ort = '".$_value."'";
}
}
$sqlab .= ")";
$sqlab .= " order by $sortieren";
$res = mysql_query($sqlab);
$num = mysql_num_rows($res);
if ($num==0) echo "keine passenden Datensätze gefunden";
// Tabellenbeginn
echo "<table border='0' bgcolor='#FEF08D' >";
// Tabelleninhalt
while ($zeile = mysql_fetch_assoc($res))
{
echo "<tr>";
// Überschrift
echo "<tr bgcolor='#F1D247'> <td align='center' valign='middle'><b>$zeile[typ] $zeile[name]</b></td> <td align='center'>Preis ab: $zeile[preis] € $zeile[sterne] Sterne</td> <td align='center'>Ort: $zeile[ort]</td></tr>";
// Inhalt
echo '<td align="center" valign="middle" bgcolor="#FEF08D"><img src="'.$zeile['bild'].'" width="150" height="100"></td>';
echo "<td align='center' valign='middle' bgcolor='#FEF08D' width='300'>$zeile[beschreibung]</td>";
echo '<td align="center" valign="middle" bgcolor="#FEF08D"><a href="'.$zeile['infoseite'].'">Infoseite</a></td>';
echo "</tr>";
}
// Tabellenende
echo "</table>";
}
else{
echo "Bitte Ort waehlen!";
}
?>
</body>
</html>
Danke fürs nachdenken im Vorraus
ich will die Antwort aus meiner PHP abfrage sortieren.
bisher wird gleich bei der auswertung sortiert über "order by"
- ich will aber, dass es oberhalb der angezeigten ausgabe tabelle eine sortierfunktion gibt.
irgendwie so?
<p>Ergebnis Sortieren nach: <input type="radio" name="sortieren" value="preis" checked>Preis <input type="radio" name="sortieren" value="ort">Ort <input type="radio" name="sortieren" value="sterne">Sterne</p>
______________________________________________
hier mein php formular mit Order by:
<html>
<body>
<?php
// deklaration/definition der Variablen
$preis = isset($_POST["preis"]) ? $_POST["preis"] : null;
$sterne = isset($_POST["sterne"]) ? $_POST["sterne"] : null;
$see = isset($_POST["see"]) ? $_POST["see"] : null;
$sortieren = isset($_POST["sortieren"]) ? $_POST["sortieren"] : null;
$ort = isset($_POST["ort"]) ? $_POST["ort"] : null;
$verpflegung = isset($_POST["verpflegung"]) ? $_POST["verpflegung"] : null;
$airfn = isset($_POST["airfn"]) ? $_POST["airfn"] : null;
mysql_connect();
mysql_select_db("firma");
if(!empty($ort)){
$sqlab = "SELECT name, infoseite, bild, typ, sterne, ort, preis, beschreibung FROM gastgeber";
$sqlab .= " WHERE preis <= '".$preis."'";
$sqlab .= " AND sterne >= '".$sterne."'";
$sqlab .= " AND see <= '".$see."'";
$sqlab .= " AND airfn <= '".$airfn."'";
$sqlab .= " AND verpflegung <= '".$verpflegung."'";
$sqlab .= " AND(";
foreach ($ort AS $key => $_value){
if( !empty( $_value ) ) {
$sqlab .= ($key>0?" OR":"")." ort = '".$_value."'";
}
}
$sqlab .= ")";
$sqlab .= " order by $sortieren";
$res = mysql_query($sqlab);
$num = mysql_num_rows($res);
if ($num==0) echo "keine passenden Datensätze gefunden";
// Tabellenbeginn
echo "<table border='0' bgcolor='#FEF08D' >";
// Tabelleninhalt
while ($zeile = mysql_fetch_assoc($res))
{
echo "<tr>";
// Überschrift
echo "<tr bgcolor='#F1D247'> <td align='center' valign='middle'><b>$zeile[typ] $zeile[name]</b></td> <td align='center'>Preis ab: $zeile[preis] € $zeile[sterne] Sterne</td> <td align='center'>Ort: $zeile[ort]</td></tr>";
// Inhalt
echo '<td align="center" valign="middle" bgcolor="#FEF08D"><img src="'.$zeile['bild'].'" width="150" height="100"></td>';
echo "<td align='center' valign='middle' bgcolor='#FEF08D' width='300'>$zeile[beschreibung]</td>";
echo '<td align="center" valign="middle" bgcolor="#FEF08D"><a href="'.$zeile['infoseite'].'">Infoseite</a></td>';
echo "</tr>";
}
// Tabellenende
echo "</table>";
}
else{
echo "Bitte Ort waehlen!";
}
?>
</body>
</html>
Danke fürs nachdenken im Vorraus