Problem mit suche auf Mysql DB und sortieren

lutzr

Grünschnabel
Hallo,

ich versuch mir ein kleine DB script zu bauen, leider hab ich probleme mit Sortieren und der suchabfrage... die Sortierung übergeb ich mit $_get nun ist die frage ich die suchvariable übergebe...

PHP:
<form action="dbab2.php" method="post">
<input type="text" size="20" name="suche">
<input type="submit" value="OK">
</form>
<?php
// Funktion zum Zeitnehmen
function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
// Startzeit nehmen (am Anfang der Seite...)
$time_start = getmicrotime();
//für Datenbankverbindung
include "dbconnect.php";
//variablen für Sortierung Einlesen
$sort = $_GET['sort'];
$sortm= $_GET['sortm'];
//Suchevariable einlesen
$suche= $_POST['suche']; 
//Suchvariable Ausgeben

if($suche) {
    echo "Sie suchten nach $suche";
    }
    else
    {
        echo "Keine Suchvariable gefunden";
    }
//suche auf DB Anwenden
if($suche) {
                  $abfrage = "SELECT name,adresse,plz,ort FROM db_daten WHERE adresse LIKE '%$suche%'";
                 }
else{
$abfrage = "SELECT name,adresse,plz,ort FROM db_daten";
}

//sortieren
if($sort)
{ 
 $abfrage .= " ORDER BY $sort $sortm"; 
}
else{ 
       $abfrage .= " ORDER BY name ASC"; 
       }
$result = mysql_query($abfrage);   

// Query überprüfen
if(@$result && mysql_num_rows($result)>0)
{
   echo '<table>',
           '<tr>',
              '<th><a href="dbab2.php?sort=name&sortm=DESC">&uArr;</a> Name <a href="dbab2.php?sort=name&sortm=ASC">&dArr;</a></th>',
              '<th><a href="dbab2.php?sort=adresse&sortm=DESC">&uArr;</a> Adresse <a href="dbab2.php?sort=adresse&sortm=ASC">&dArr;</a></th>',
              '<th><a href="dbab2.php?sort=plz&sortm=DESC">&uArr;</a> PLZ <a href="dbab2.php?sort=plz&sortm&sortm=ASC">&dArr;</a></th>',
              '<th><a href="dbab2.php?sort=ort&sortm=DESC">&uArr;</a> Ort <a href="dbab2.php?sort=ort&sortm&sortm=ASC">&dArr;</a></th>',
           '</tr>';

   while($row = mysql_fetch_array($result))
   {
      echo '<tr>',
              '<td>'.$row['name'].'</td>',
              '<td>'.$row['adresse'].'</td>',
              '<td>'.$row['plz'].'</td>',
              '<td>'.$row['ort'].'</td>',
           '</tr>';
   }
   echo '</table>';
}
else {
      echo 'In der Datenbank sind keine Einträge vorhanden!<br>';
     }

while($row = mysql_fetch_object($ergebnis))
   {
    // Daten Ausgeben  
   echo "$row->name, $row->adresse, $row->plz, $row->ort <br>";
   }
// Endzeiz nehmen (am Ende der Seite...)
$time_end = getmicrotime();
// Ausrechnen
$totaltimegenerated = number_format($time_end - $time_start, 3, ".", ".");
// Ausgeben
echo "Seite in ".$totaltimegenerated." Sekunden generiert";
?>
</body>
</html>
 
Hallo,

ich versuch mir ein kleine DB script zu bauen, leider hab ich probleme mit Sortieren und der suchabfrage... die Sortierung übergeb ich mit $_get nun ist die frage ich die suchvariable übergebe...

Könntest du das nochmal bitte in einen deutschen Satz übersetzen?
 
nun, mein problem ist:
geb ich in das textfeld ein, sehe ich zwar die ergebnisse. mein problem ist, will ich sie sortieren ist aber der wert in meiner suchvariable nicht mehr und bekomm alle gelistet...
hab grad keinen plan wie ich das lösen könnte, weil die sortierung immer gehen sollte...
 
Zuletzt bearbeitet:
Also, wenn du es als GET-Parameter lösen willst, müsstest du die Sortier-Variablen an die Action hängen

HTML:
<form action="dbab2.php?sort=abc&sortm=xyz" method="post">

Man achte auf action=....
 
das geht nicht, da ich ja verschiedene tabellen habe die ich sortieren möchte, also name, adresse,ort, plz
ich bräuchte die möglichkeit die suchvariable länger zu speichern als nur einmal zu übergeben, ich werd es mit einer session variable probieren, und die session kann ich ja auf knopfdruck wieder löschen.
sollte gehen oder?
 
Ja, sollte gehen.
Bitte halte dich der Netiquette entsprechend an Groß- und Kleinschreibung, danke.
 

Neue Beiträge

Zurück