Mein erstes script

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

  • Mein erstes script

    Hallo

    Nichts weltbewegendes aber ich habe mal versucht für unsere kleinanzeigenmarkt seite eine regionalsuche zu schreiben.
    Ich habe mich versucht nach allen richtlinien zu halten aber kriege es doch nicht hin.

    Dieses ist mein script:
    ############################
    PHP-Code:
    <?PHP
    switch ($plznr) {
    $query "select * from tabelle WHERE id , title , AND (location_zip>79999) AND (location_zip < 90000)";
    };


    // Connect
    $db_server="xxxxx";
    $db_name="xxxxxx";
    $db_user="xxxxxx";
    $db_passwort="xxxxxx";

    $erg_griff=db_query($query);

    echo 
    "Plz bereich $plznr";

    while (
    $Datensatz=mysql_fetch_row($erg_griff))
    {
        
    // Ausgabe 
    echo "<a href="id=$Datensatz[0]"> $Datensatz[1] - $Datensatz[2] </a>";
    };
    ?>
    ###############################################

    Und dieses ist mein Link dazu http://www.meinedomain.de/plzsuche.php?plznr=8

    Was mach ich hier bitte falsch?

    Ich bekomme immer nur fehlermeldungen.

    Grüße Sara

    EDIT:
    PHP-Tags sponsored by Goth
    Zuletzt geändert von goth; 18.06.2004, 12:50.

  • #2
    Moin Sara,
    bevor Du hier böse Antworten bekommst n paar Tips:
    1. Deine hash-Zeichen(#) kannst Du Dir sparen nutze entweder den "PHP-Button" der Dir bei der Eingabe geboten wird um Deinen Code kenntlich zu machen oder schreib am Anfang \[PHP\] und am Ende \[/PHP\].(Ohne die Backslashs!)
    2. Konzentrier Dich erst mal auf die SQL-Abfrage:
    "SELECT * FROM tabellenname WHERE id=irgendein übergebener Wert
    AND title=irgendein übergebener Wert AND location_zip BETWEEN deine zwei begrenzungswerte"
    or die("Abfrage fehlgeschlagen,error_code=".mysql_error());
    Dann übergibst Du Deine Ergebnismenge der Abfrage an die Variable
    $erg_grifff=mysql_query($query);
    Dann
    while($Datensatz=mysql_fetch_row($erg_griff))
    {
    echo $Datensatz;
    }
    Wenn das klappt, gehts weiter
    Sorry, is spät ich sach gute nacht
    Das Leben ist kein Ponyhof.

    Kommentar


    • #3
      Hi!

      Ein weiterer Fehler ist wohl deine switch-Anweisung wobei ich auch nicht genau weiss, was du damit bezwecken möchtest. Zu einem switch gehört auch ein case...

      Tipp: Schau doch mal hier . Dort findest du eine PHP-Doku im Windows-Help format (.chm). Hat mir sehr geholfen und tut es immer noch.

      Gruss

      Yeza
      mens agitat molem

      Kommentar


      • #4
        Re: Mein erstes script

        Original geschrieben von sara E.
        Hallo


        Ich habe mich versucht nach allen richtlinien zu halten aber kriege es doch nicht hin.
        Grüße Sara
        verwende auch mal mysql_error();
        dann register_global beachten, $_GET $_POST etc.

        PHP-Code:
         switch ($plznr) { 
        vorher prüfen ob $plznr definiert ist.
        und funktionsweise von switch anschauen

        PHP-Code:
        while ($Datensatz=mysql_fetch_row($erg_griff))
        {
            
        // Ausgabe 
        echo "<a href="id=$Datensatz[0]"> $Datensatz[1] - $Datensatz[2] </a>";
        }; 

        print_r($Datensatz); in der While, ausgabe testen.

        mysql_fetch_array mal anschauen.

        weiter Infos:
        www.php.net
        mfg
        marc75

        <Platz für anderes>

        Kommentar


        • #5
          Also seit heute morgen versuche alle versionen aber es will nicht klappe bitte um Hiiiiiiiilfe!

          das ist mein Aktueller stand.
          case ($plznr)
          {
          9) $query="SELECT Iid,title , now_price, ends FROM `a_auctions` WHERE (location_zip>89999) AND (location_zip < 100000) AND (closed=1)";
          };


          $db_server="localhost";
          $db_name="xxx";
          $db_user="wxxx";
          $db_passwort="xxx";

          $erg_griff=db_query($query);

          echo "Plz bereich $plznr";

          while ($Datensatz=mysql_fetch_row($erg_griff))
          {
          echo "<a href="ID=$Datensatz[0]">$Datensatz[1] - $Datensatz[2] - $Datensatz[3] </a>";
          };

          Kommentar


          • #6
            schau dir das mal genau an

            http://www.php.net/manual/de/control...res.switch.php

            EDIT:
            denke an die [php] tags um deinen code

            Kommentar


            • #7
              PHP-Code:
              while ($Datensatz=mysql_fetch_row($erg_griff))
              {
                  echo 
              "<a href="ID=$Datensatz[0]">$Datensatz[1] - $Datensatz[2] - $Datensatz[3] </a>";
              }; 
              Hmmm, mal vom switch ... case abgesehen: du weisst, dass wenn du echo mit " benutzt, du die normalen " im echo escapen musst, oder? Kann da jetzt noch nicht genau draus erkennen obs gewollt ist, oder nicht.

              Ansonsten würds halt so aussehen:
              PHP-Code:
              echo "<a href=\"ID=$Datensatz[0]\">$Datensatz[1] - $Datensatz[2] - $Datensatz[3] </a>"
              alternativ ginge auch
              PHP-Code:
              echo "<a href=\"ID=".$Datensatz[0]."\">$Datensatz[1] - $Datensatz[2] - $Datensatz[3] </a>"
              ... dieses ID verwirrt mich zu sehr x_X soll das eine gültige URL sein?

              Kommentar


              • #8
                Hi,
                was will denn nicht klappen? Du hast jede menge freundliche Tips und Anregungen bekommen aber nicht mal die Hälfte davon umgesetzt!
                mysql_error() ist keine Anfängerfunktion die man einfach so weglässt, sondern enorm Hilfreich bei der Fehlersuche.
                Wenn Du Fehlermeldungen bekommst dann poste die auch!
                Da kann man jede mange draus ableiten.
                Nochmal:
                1. Fang mit der SQL Abfrage an. Isoliert. Teste ob das klappt, sprich ob Du Dein von der Abfrage erwartetes Ergebnis auch erhälst.
                Ohne das ganze drumherum!
                Das gleiche gilt für die switch Anweisung. Isolieren und Testen z.B.
                mit der einfachen Ausgabe echo "Es klappt".
                Dann setzt Du das zusammen.
                Also Du switcht und wenn der Fall Eintrit kommt Deine Datenbankabfrage.
                1.
                PHP-Code:
                 $query="SELECT Iid,title , now_price, ends FROM `a_auctions` WHERE (location_zip>89999) AND
                 (location_zip < 100000) AND (closed=1)"
                ;
                $erg_griff=mysql_query($query)
                or die (
                "Abfrage fehlgeschlagen, error code = ".mysql_error());
                while (
                $Datensatz=mysql_fetch_row($erg_griff))
                {
                echo 
                $Datensatz;

                Frage: Was sollen die ganzen $db Variablen Wertzuweisungen
                PHP-Code:
                $db_server="localhost";
                $db_name="xxx";
                $db_user="wxxx";
                $db_passwort="xxx"
                zwischen Deiner Abfrage und der Übergabe der Ergebnismenge?
                Ist kein guter programmierstil. Immer eins nach dem anderen!
                Das is jetzt nich bös gemeint, aber wenn Du Fragen stellst, dann beherzige auch die Antworten bzw. Hilfsvorschläge.
                Es haben Dir hier nicht nur einige links geboten, wo du Dich schlau machen kannst, sondern es sind sogar direkte codevorschläge gepostet worden
                z.B. von marc75 und Gae-Bulga!
                Und wenn Du uns morgen postest bis wohin Du gekommen bist(was klappt) und was darüberhinaus beim Zusammensetzen für Fehlermeldungen
                auftreten hilft Dir hier gerne jeder weiter.
                Gruß Wendel
                Das Leben ist kein Ponyhof.

                Kommentar

                Lädt...
                X