variablen kontrolle

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

  • variablen kontrolle

    hallo,

    ich habe folgendes prolem, ich bin dabei eine artikel datenbank zu erstellen, mit bestimmten produktgruppen, die auch in einer mysql datenbank angelegt sind.
    nun wird die ID der produktgruppe über eine GET variable übergeben, jetzt hab ich das problem, das wenn da ein text steht, immer ein mysql error ausgegebn wird, ich möchte aber das wenn da ein text in der variable steht, einfach alle produkte angezeigt werden...

    PHP-Code:
        // Gruppen Prüfung
        
    if(isset($_GET["group"]))
            {
            
    $group $_GET["group"];
            }
        else
            {
            
    $group "all";
            }

        
    // Ausgabe
        
    echo "<b><u>".$group."</u></b>";

        if(
    $group == "all")
            {
            
    $abfrage "SELECT * FROM artikel";
            }
        else
            {
            
    $abfrage "SELECT * FROM artikel WHERE ".$group." = ar_gruppe";
            }

        
    $ergebnis mysql_query($abfrage);
        while(
    $row mysql_fetch_object($ergebnis))
            {
            
    $ar_preis $row->ar_preis 100;
            echo 
    "
                <table width='100%'>
                    <tr>
                        <td><u>Artikelnummer:</u></td>
                        <td>"
    .$row->ar_id."</td>
                        <td rowspan='4' align='right'><img src='"
    .$row->ar_bild."'></td>
                    </tr>
                    <tr>
                        <td><u>Bezeichnung:</u></td>
                        <td>"
    .$row->ar_bezeichnung1."</td>
                    </tr>
                    <tr>
                        <td><u>Details:</u></td>
                        <td>"
    .$row->ar_bezeichnung2."</td>
                    </tr>
                    <tr>
                        <td><u>Preis:</u></td>
                        <td>"
    .$ar_preis." €</td>
                    </tr>
                </table><hr>"
    ;
            } 
    so sieht es bis jetzt aus
    PHP Version: 5.2.1
    APACHE: XAMPP 1.6.1 Standard

  • #2
    PHP-Code:
    if(intval($_GET['deineVar']) != $_GET['deinerVar'] || $_GET['deineVar'] < 1){
      
    //alle anzeigen, weil keine gültige Zahl als MySql ID 
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      klappt noch nicht
      PHP Version: 5.2.1
      APACHE: XAMPP 1.6.1 Standard

      Kommentar


      • #4
        PHP-Code:
        $query 'SELECT * FROM...';
        if (!
        preg_match("/[a-z]/i",$_GET['var'])) $query .= ' WHERE ...' 
        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          nun wird die ID der produktgruppe über eine GET variable übergeben
          Ist die ID jetzt ne Zahl oder ein String ?
          Und bist du sicher dass du es so
          PHP-Code:
          $abfrage "SELECT * FROM artikel WHERE ".$group." = ar_gruppe"
          willst ? Dass also deine Spalte die Variabel ist und nicht deren Inhalt ?

          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            das verstehe ich jetzt auch nicht, was macht denn der befehl!?

            mit diesem intval dingens ging es, nur halt das wenn buchstaben vor der zahl stehen kam blödsin....

            und, ich hab ja nun in der $group variabel die id der gruppe die angezeigt werden soll....
            PHP Version: 5.2.1
            APACHE: XAMPP 1.6.1 Standard

            Kommentar


            • #7
              Ist deine ID in der DB jetzt eine Zahl oder ein String ???
              das verstehe ich jetzt auch nicht, was macht denn der befehl!?
              Der Befehl versucht eine MySql Query abzusetzen. Es sollen alle Spalten einer Zeile selektiert werden , WO der Inhalt der Var $group arr_gruppe entspricht.
              Ich vermute ganz schwer, dass dies nicht das ist was du willst. V.a. müsste dir eine solche Query einen Fehler um die Ohren hauen.
              Also solltest du mal ein wenig Debugging betreiben
              PHP-Code:
              $ergebnis mysql_query($abfrage) OR die($abfrage.'<br />'.mysql_error()); 
              Werden jetzt beim Ausführen, Mysql Fehlermeldungen angezeigt ?

              Gruss

              tobi
              Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

              [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
              Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

              Kommentar


              • #8
                ich habby jetzt so gemacht

                PHP-Code:
                    // Gruppen Prüfung
                    
                if(isset($_GET["group"]))
                        {
                        
                $group $_GET["group"];
                        
                settype($group,"integer");
                        }
                    if((!isset(
                $_GET["group"])) XOR ($group == "0"))
                        {
                        
                $group "Alle";
                        }

                    
                // Ausgabe
                    
                echo "<b><u>".$group."</u></b>";

                    if(
                $group == "Alle")
                        {
                        
                $abfrage "SELECT * FROM artikel";
                        }
                    else
                        {
                        
                $abfrage "SELECT * FROM artikel WHERE ".$group." = ar_gruppe";
                        }

                    
                $ergebnis mysql_query($abfrage);
                    while(
                $row mysql_fetch_object($ergebnis))
                        {
                        
                $ar_preis $row->ar_preis 100;
                        
                $ar_bild $row->ar_bild;
                        if(
                $ar_bild == "")
                            {
                            
                $ar_bild "./data/no.gif";
                            }
                        echo 
                "
                            <table width='100%' border='0'>
                                <tr>
                                    <td width='120'><u>Artikelnummer:</u></td>
                                    <td>"
                .$row->ar_id."</td>
                                    <td rowspan='4' align='right' width='115'><img src='"
                .$ar_bild."' width='110' height='110'alt='Produktbild'></td>
                                </tr>
                                <tr>
                                    <td width='120'><u>Bezeichnung:</u></td>
                                    <td>"
                .$row->ar_bezeichnung1."</td>
                                </tr>
                                <tr>
                                    <td width='120'><u>Details:</u></td>
                                    <td>"
                .$row->ar_bezeichnung2."</td>
                                </tr>
                                <tr>
                                    <td width='120'><u>Preis:</u></td>
                                    <td>"
                .$ar_preis." €</td>
                                </tr>
                            </table><hr>"
                ;
                        } 
                PHP Version: 5.2.1
                APACHE: XAMPP 1.6.1 Standard

                Kommentar


                • #9
                  dann ruf mal das script mit ...php?group=0 auf und dann erkläre mit eigenen worten, was xor für eine bedeutung hat.

                  wozu
                  PHP-Code:
                  $group $_GET["group"];
                  # oder
                  $ar_bild $row->ar_bild
                  wirst du pro zeile code bezahlt?

                  Kommentar


                  • #10
                    Wann betreibst du endlich einmal etwas eigenes Debugging ? Mach jetzt endlich mal die allfälligen Fehlerausgaben von MySql bei deinen Queries ! Und zwar plötzlich...
                    Klinke mich hier aus, bis du das gemacht hast

                    Gruss

                    tobi
                    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                    Kommentar

                    Lädt...
                    X