falke: suche von bis

hi leute,

momentan hab ich eine suche die nur nach einem Wert Sucht nun möchte ich die Suche erweitern und zunächst einmal von bis im Sinne eines Datums realisieren.

$asso = 'and';

$kex = explode(" ",$_GET["von"],$_GET["bis"]); //hier ist wohl etwas verkerhrt

$quer = array();

foreach($kex as $ke)
{
 $quer[] = "(Datum like '%".$ke."%')";
}

$quer = implode(association, $quer);

if($von != null )
{
$resulti = mysql_query("select id,Datum,Geschäftsname,Status,Shop,Host,URL,admin,Partner from Kunden2 where" .$quer,$connect);
$input = mysql_num_rows($resulti);
$perpage = 10;
if($input < 10)
$page = 0;

echo createPages($input,$perpage); //Blätterfunktion

$result = mysql_query("select id,Datum,Geschäftsname,Status,Shop,Host,URL,admin,Partner from Kunden2 where" .$quer." limit ".$page.",10",$connect);

bin für jeden Rat dankbar

mfg falke

  1. hi,

    $kex = explode(" ",$_GET["von"],$_GET["bis"]); //hier ist wohl etwas verkerhrt

    welche parameter möchte explode denn laut manual haben ...?

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. hi wahsaga,

      welche parameter möchte explode denn laut manual haben ...?

      das Trennzeichen und den String der zerlegt werden soll.

      aber wieso klappt dann das?

      $association = 'and';
      $keywords = explode(" ",$_GET["Suche"]);

      $query = array();

      foreach($keywords as $keyword)
      {
       $query[] = "(id like '%".$keyword."%' or Geschäftsname like '%".$keyword."%' or Status like '%".$keyword."%' or Shop like '%".$keyword."%' or Host like '%".$keyword."%' or URL like '%".$keyword."%' or admin like '%".$keyword."%' or Datum like '%".$keyword."%'or Partner like '%".$keyword."%')";
      }

      $query = implode($association,  $query);

      ich kann wohl keine zwei strigangaben im explode machen soll ich die in ein array stecken klappt es dann?

      mfg falke

  2. Moin!

    momentan hab ich eine suche die nur nach einem Wert Sucht nun möchte ich die Suche erweitern und zunächst einmal von bis im Sinne eines Datums realisieren.

    Von Datum_A bis Datum_B:

    SELECT spalten FROM tabelle WHERE datumspalte BETWEEN Datum_A AND Datum_B

    Lasse SQL erledigen, was SQL von Haus aus kann, versuche nicht, das selbst nachzuprogrammieren - ist unnötiger Aufwand und mit Sicherheit in der Regel auch langsamer.

    - Sven Rautenberg

    1. danke hab das mit dem between probiert aber diese fehlermeldung bekommen

      $result = mysql_query("select id,Datum,Geschäftsname,Status,Shop,Host,URL,admin,Partner from Kunden2 where Datum between" .$_GET['von']." and ".$_GET['bis'],$connect);

      $input = mysql_num_rows($result);

      suplied argument is not valid auf diese zeile

      $feldanzahl = mysql_num_fields($result);

      also ist wohl was an $result nicht korrekt.

      mfg falke

      1. Hallo falke,

        $result = mysql_query("select id,Datum,Geschäftsname,Status,Shop,Host,URL,admin,Partner from Kunden2 where Datum between" .$_GET['von']." and ".$_GET['bis'],$connect);

        was steht in $_GET['von'] bzw. $_GET['bis'] drin? (http://dev.mysql.com/doc/mysql/de/Comparison_Operators.html#IDX1096 kennst du ja, oder?)

        suplied argument is not valid auf diese zeile

        lass dir bei einem solchen Fehler *immer* mysql_error() ausgeben.

        also ist wohl was an $result nicht korrekt.

        hast du dir den Query mal ausgeben lassen?

        Grüße aus Nürnberg
        Tobias

        1. Hallo Tobias,

          was steht in $_GET['von'] bzw. $_GET['bis'] drin?

          die Datumsangaben z.B von: 2004-04-01  bis: 2004-05-01

          (http://dev.mysql.com/doc/mysql/de/Comparison_Operators.html#IDX1096 kennst du ja, oder?)
          naja nach dieser definition und der in meinem buch mysql von paul dubois scheint mir between nicht richtig dafür geeignet zu sein?

          SELECT spalten FROM tabelle WHERE datumspalte BETWEEN Datum_A AND Datum_B
          (definition von Sven im thread weiter oben müsste es doch eigentlich klappen)

          suplied argument is not valid auf diese zeile
          lass dir bei einem solchen Fehler *immer* mysql_error() ausgeben.

          also bei print_r($result); gibt er nichts aus und bei
          mysql_error($result); nur eine weitere suplied argument is not valid

          also ist wohl was an $result nicht korrekt.
          hast du dir den Query mal ausgeben lassen?

          du meinst mir print_r oder mysql_error oder echo?
          hat alles nicht geklappt!

          mfg falke

    2. hallo sven krieg jetzt zwar keine Fehlermeldung mehr aber auch kein ergebnis.

      fällt dir etwas auf?

      $result = mysql_query("select id,Datum,Geschäftsname,Status,Shop,Host,URL,admin,Partner from Kunden2 where Datum between " .$_GET['von']." and ".$_GET['bis'],$connect);

      mfg falke