Such String vereinfachen!?!?!!?!?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Such String vereinfachen!?!?!!?!?

    Hi habe folgendes Problem (Quellcode siehe unten) Möchte gerne diesen Code vereinfachen damit ich di Suchergebnisse Alphapetisch Ordnen.

    $query = "select * from detail where produkt1 like '%".$produktsuche."%' AND (Bundesland LIKE '%".$Bundeslandsuche."%')";
    $resultID = @mysql_query($query);
    while ($data = mysql_fetch_array($resultID))

    {
    echo '&nbsp;&nbsp;<a href=produkte.php?id='.$data["id"].'><font face="Verdana" size="-1"><b>'.$data["produkt1"].'</b></font></a>&nbsp;&nbsp;<font face="Verdana" color="003366" size="-2"><b>'.$data["Firma"].'&nbsp;['.$data["Ort"].']</b></font><br>';
    }

    $query1 = "select * from detail where produkt2 like '%".$produktsuche."%' AND (Bundesland LIKE '%".$Bundeslandsuche."%') ";
    $resultID1 = @mysql_query($query1);
    while ($data1 = mysql_fetch_array($resultID1))
    {
    echo '&nbsp;&nbsp;<a href=produkte.php?id='.$data1["id"].'><font face="Verdana" size="-1"><b>'.$data1["produkt2"].'</b></font></a>&nbsp;&nbsp;<font face="Verdana" color="003366" size="-2"><b>'.$data1["Firma"].'&nbsp;['.$data1["Ort"].']</b></font><br>';
    }

    $query2 = "select * from detail where produkt3 like '%".$produktsuche."%' AND (Bundesland LIKE '%".$Bundeslandsuche."%')";
    $resultID2 = @mysql_query($query2);
    while ($data2 = mysql_fetch_array($resultID2))
    {
    echo '&nbsp;&nbsp;<a href=produkte.php?id='.$data2["id"].'><font face="Verdana" size="-1"><b>'.$data2["produkt3"].'</b></font></a>&nbsp;&nbsp;<font face="Verdana" color="003366" size="-2"><b>'.$data2["Firma"].'&nbsp;['.$data2["Ort"].']</b></font><br>';

    }

    $query3 = "select * from detail where produkt4 like '%".$produktsuche."%' AND (Bundesland LIKE '%".$Bundeslandsuche."%')";
    $resultID3 = @mysql_query($query3);
    while ($data3 = mysql_fetch_array($resultID3))
    {
    echo '&nbsp;&nbsp;<a href=produkte.php?id='.$data3["id"].'><font face="Verdana" size="-1"><b>'.$data3["produkt4"].'</b></font></a>&nbsp;&nbsp;<font face="Verdana" color="003366" size="-2"><b>'.$data3["Firma"].'&nbsp;['.$data3["Ort"].']</b></font><br>';

    }

    $query4 = "select * from detail where produkt5 like '%".$produktsuche."%' AND (Bundesland LIKE '%".$Bundeslandsuche."%')";
    $resultID4 = @mysql_query($query4);
    while ($data4 = mysql_fetch_array($resultID4))
    {
    echo '&nbsp;&nbsp;<a href=produkte.php?id='.$data4["id"].'><font face="Verdana" size="-1"><b>'.$data4["produkt5"].'</b></font></a>&nbsp;&nbsp;<font face="Verdana" color="003366" size="-2"><b>'.$data4["Firma"].'&nbsp;['.$data4["Ort"].']</b></font><br>';

    }

  • #2
    Keiner eine Ahnung wie das möglich wäre ;-( ?????

    Kommentar


    • #3
      Wenn du für jedes Produkt eine einzelne Ergebnisaufstellung haben möchtest, gibt es keinen viel einfacheren Weg.

      Ansonsten:

      $queryall = "

      SELECT * FROM detail
      WHERE (
      produkt1 LIKE '%$produktsuche%'
      OR produkt2 LIKE '%$produktsuche%'
      OR produkt3 LIKE '%$produktsuche%'
      OR produkt4 LIKE '%$produktsuche%'
      OR produkt5 LIKE '%$produktsuche%'
      )
      AND (Bundesland LIKE '%$Bundeslandsuche%')

      ");

      [Editiert von Sky am 26-11-2001 um 17:53]

      CAT Music Files

      Kommentar


      • #4
        Wie wär´s denn für den Anfang mit einer Schleife?!
        Code:
        for ($n=1; $n<6; W$n++)
        {
          $query = "SELECT * FROM detail
            WHERE produkt$n LIKE '%".$produktsuche."%'
            AND (Bundesland LIKE '%".$Bundeslandsuche."%')"; 
          $resultID = @mysql_query($query); 
          while ($data = mysql_fetch_array($resultID)) 
            echo '  <a href=produkte.php?id='
              .$data["id"]
              .'><font face="Verdana" size="-1"><b>'
              .$data["produkt1"]
              .'</b></font></a>  '
              .'<font face="Verdana" color="003366" size="-2"><b>'
              .$data["Firma"].' ['
              .$data["Ort"].']</b></font><br>'
            ;
        }
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar


        • #5
          ein klitzekleines Stückchen schneller wird´s dann noch, wenn du den Query-String vor der Schleife um das $n herum in zwei Teile zerlegst und das $n in der Schleife dazwischen packst.
          Dabei ist zu bedenken, dass die Übersichtlichkeit darunter leidet.

          Code:
          $query1 = "SELECT * FROM detail WHERE produkt";
          $query2 = " LIKE '%$produktsuche%'
            AND Bundesland LIKE '%$Bundeslandsuche%'";
          for ($n=1; $n<6; W$n++)
          {
            $resultID = @mysql_query($query1.$n.$query2); 
            while ($data = mysql_fetch_array($resultID)) 
              echo '  <a href=produkte.php?id='
                .$data["id"]
                .'><font face="Verdana" size="-1"><b>'
                .$data["produkt1"]
                .'</b></font></a>  '
                .'<font face="Verdana" color="003366" size="-2"><b>'
                .$data["Firma"].' ['
                .$data["Ort"].']</b></font><br>'
              ;
          }
          P.S.: Hier hab ich mal die überflüssigen Klammern und Anführungszeichen entfernt, so dass das ganze doch nicht so unübersichtlich wird, wie ich erst dachte.
          Viel Spaß damit!
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar


          • #6
            @ Titus :-)

            Vieln lieben Dank, hast mir wirklich weiter geholfen. Funkt fabelhaft hab nur eine kleine Änderung machen müssen.
            DANKE DANKE DANKE.

            p.s. hast was gut bei mir

            Kommentar

            Lädt...
            X