MYSQL Tabelle sortieren

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
isi1985
Mitglied
Beiträge: 5
Registriert: 28.03.2013 10:20

MYSQL Tabelle sortieren

Beitrag von isi1985 »

Hallo Leute,

vorab möchte ich erwähnen, dass ich ein PHP Anfänger bin und hier keine fertige Lösung erwarte. Denkanstöße, Links und paar Tips währen sehr sehr hilfreich.

Ich habe eine Mysql Tabelle und den Inhalt kann ich auslesen lassen.
Eine Suchfunktion hab ich auch integriert. (Waren fertige Codeschnipsel, einige Befehle kann ich auch schon interpretieren).

Hier der Code:

Code: Alles auswählen

function getUser($suchfeld, $page)
{    
  $page = (int) $page;
   if ($page <= 0) $page=1;
   
  if(!empty($suchfeld)) {
    $suchfeld = trim($suchfeld);
    $suchfeld = str_replace(" ","%",$suchfeld);
    $suchfeld = "%".$suchfeld."%";
     
    $sql = "    SELECT
            *
          FROM
            teste
          WHERE
            Title LIKE '$suchfeld' OR
            ProductCategoryName LIKE '$suchfeld'" ;
             
  } 
  else {
    $sql = " SELECT
            *
          FROM
            teste";
  }
   
  $res = mysql_query($sql);
  $anz = mysql_num_rows($res);
   
  $itperpage = 20;
     $maxpages_int = (int) ($anz/$itperpage);
  $maxpages_float = $anz/$itperpage;
      
  if ( $maxpages_float > $maxpages_int ) {
    $maxpages = (int)(($anz/$itperpage)+1);
  } else {
    $maxpages = (int)(($anz/$itperpage));    
  }
 
  if ($page > $maxpages) $page = $maxpages;
   
  $sql2 = $sql." ORDER BY ArtNumber DESC limit ".(($page-1)*$itperpage).",$itperpage";
  $res2 = mysql_query($sql2);
  $anz2 = mysql_num_rows($res2);
   
  if($anz > 0) {
   
    if(empty($suchfeld)) {
     
      $head = "
        <table width='500' border='0' cellspacing='1' cellpadding='1'><tr>
        <td><strong>$anz User in der Datenbank. Pro Seite werden $itperpage User
        angezeigt.</strong></td></tr></table>";
   
    } else {
 
      if($anz > 1) { $wortlaut = "wurden"; } else { $wortlaut = "wurde"; }
     
      $head = "
        <table width='500' border='0' cellspacing='1' cellpadding='1' ><tr>
        <td><strong>Mit Ihrer Suchabfrage $wortlaut $anz Treffer
        gelandet.</strong></td></tr></table>";
   
    }
     
    $i = 0;    // Eine Zählvariable für unterschiedliche Zeilenfarben
    $navi_left = ""; // HTML - Teil der Navigation zum zurückblättern
    $navi_right = ""; // HTML - Teil der Navigation zum weiterblättern
    $userliste = ""; // HTML - Inhalt der Userliste
    $show_navi = ""; // HTML – Beinhaltet die Navigation und das Suchfeld
     
    // Start der WHILE Schleife
    while ($row = mysql_fetch_array($res2, MYSQL_ASSOC)) {
       
      // Hier wird die Zeilenhintergrundfarbe für jeden Datensatz festgelegt,
      // dies dient der Übersicht    
      if($i%2==0) { $trcolor = "#FFFFFF"; } else { $trcolor = "#DADADA"; }
       
      if ($page > 1){
        $navi_left = "<strong><input type=button value=\"&laquo;\"
        onClick=\"pageset($page-1)\" style=\"WIDTH:25px\"></strong>";
      }    
     
      if ($page < $maxpages){ 
        $navi_right = "<strong><input type=button value=\"&raquo;\"
        onClick=\"pageset($page+1)\" style=\"WIDTH:25px\"></strong>";
      }
       
      if(isset($_POST['suchfeld']) && !empty($_POST['suchfeld'])) {
        $val_suchfeld = $_POST['suchfeld'];
      } else {
        $val_suchfeld = "";
      }
       
      $show_navi =
        "
          <form name='form1' method='post' action='schuhe.php' style='margin:0px;padding:0px'>
          <table width='500' border='0' cellspacing='1' cellpadding='1'>
          <tr>
          <td width='50%'>
            <input type=button value=\"Seite\" style=\"WIDTH:50px\" onClick=\"pageset2()\">
            <input name='page' type='text' id='page' value='$page' style=\"WIDTH:60px\">
            von $maxpages $navi_left$navi_right
          </td>
          <td width='60%'><div align = 'right'>
            Suchen: <input name='suchfeld' type='text' id='suchfeld' value = '$val_suchfeld'
            style=\"WIDTH:120px;HEIGHT:16px\">
            <input type=submit value=\"Finden\" style=\"WIDTH:45px\">
            <input type=hidden name=page_no value=\"$page\">
          </div></td>
          </tr>
          </table>
          </form>
        ";
         
        $userliste = $userliste .
                    "
                    <tr bgcolor = '$trcolor'>
                      <li class='item'> <a href='$row[Deeplink1]'><img src='$row[Img_url]' max-width='140px' height='230px' ></a><br> <big><b>$row[Title]</big></b><br> $row[DisplayPrice]<br> 
   $row[ProductCategoryName]<br> 
     
  $row[Geschlecht] </a> 
                         </tr>
                    ";
      $i++; // Zählschleife um 1 erhöhen
    }// WHILE Schleife abschließen
   
  } else {
     
    $userliste = "
            <tr>
                    <td colspan='5'><div align='center'>Keine Ergebnisse fuer Ihre Suche!<br><br>
              <a href='schuhe.php'>Zurck zur Artikelliste</a></div>
              </td>
                  </tr>";    
  }
   
  $fertig = "
         
             $userliste
        </table>
        ";
   
  return $head.$show_navi.$fertig;
   
} // Funktion schließen – FERTIG
 
 
$MYSQL_HOST = "*";
$MYSQL_USER = "*";
$MYSQL_PW = "*";
$MYSQL_DB = "*";
 
$conn = mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PW); /* verbindet zu MySQL an sich */
mysql_select_db($MYSQL_DB, $conn); /* verbindet zu der gewählten Datenbank auf dem Server */
 
 
 
?>
 
   
 
<TITLE>Blaetterfunktion mit Navigator und Suchfunktion</TITLE>
<script language="JavaScript" type="text/javascript">
function pageset(wert)
{
  document.form1.page_no.value = wert;
  document.form1.submit();    
}
function pageset2()
{
  document.form1.page_no.value = document.form1.page.value;
  document.form1.submit();    
}
</script>
   
<?
  // Aufruf der Funktion getUser() mit Suchbegriff und Seitennummer
  echo $show = getUser($_POST['suchfeld'],$_POST['page_no']);
?>
Jetzt möchte ich den Inhalt der Tabelle oder die Suchergebnisse mit einem Dropdown menü sortieren lassen. Das hab ich gefunden:

Code: Alles auswählen

<form method="POST" action="schuhe.php">
  <p>
  <select size="1" name="sortieren">
  <option value="1"> </option>
  <option value="3">aufsteigend</option>
  <option value="4">absteigend</option>
   
 </select><input type="submit" value="Auswählen" name="B1"></p>
</form>
 
</div> 
  <ul class="ourHolder"> 
  <?php                                 
     include "head.php"; 
$wert = 3; 

if (isset($_POST['sortieren'])) $wert = $_POST['sortieren']; 


echo "Auswahl: ", $wert, "3", $_POST['sortieren']; 
 if ($wert = "3") $sSQL = "SELECT * FROM teste "; 

else 
echo "$wert ist nicht 0";   

$sSQL = "SELECT * FROM teste WHERE DisplayPrice ORDER BY DisplayPrice ASC"; 

$rs = mysql_query($sSQL) or die ("Fehler in der Datenbank-Abfrage!"); 

echo"<table>";
?>
Das funktioniert leider nicht. Hab auch schon einige andere Codeschnipsel versucht, hat leider nichts richtig funktioniert.

Habt ihr ne idee wie ich das kombinieren kann?
Antworten

Zurück zu „Coding & Technik“