PHP ft. MySQL

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

  • PHP ft. MySQL

    Hallo an alle!

    Ich habe ein Problem mit meinem PHP-Script. Und zwar es geht darum, dass ich mit Hilfe dieses Befehls:
    PHP-Code:
     $unummer_id_auslesen mysql_query("SELECT unummer_id FROM Zwischentabelle WHERE hnummer_id LIKE 2"); 
    bestimmte Datensätze auswähle.

    Die Anzahl der Datensätze finde ich mit diesem Befehl raus
    PHP-Code:
    $unummer_menge mysql_num_rows($unummer_id_auslesen); 
    es sind letzendlich 2.

    Ich bitte euch mir zu helfen folgendes Problem zu lösen:

    Wie kann ich herausfinden, welche Daten sich in den ausgewählten Zellen (die sich inzwischen in einer Spalte befinden) enthalten

    Mit Hilfe dieses Scriptes lässt sich nur ein Datensatz ausgeben, der auch kommischerweise der letzte ist.
    PHP-Code:
    while ($zelleninhalt mysql_fetch_row($unummer_id_auslesen))

       for (
    $i 0$i mysql_num_rows($unummer_id_auslesen); $i++)             
      {  
      echo 
    "Zellennummer $i$zelleninhalt[$i]<br>"; }

    Also, kurz und bündig. Das Problem ist, dass ich nur den letzten Datensatz bekomme.

    Vielen Dank für die Hilfe

    MfG
    Xakep

  • #2
    entweder mit while ODER for arbeiten, beides zusammen ist tinnef.

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Die Anzahl der Datensätze (2) ist nicht von dieser query.

      Kommentar


      • #4
        Dein Code lässt das aber vermuten.

        Poste doch mal den tatsächlich verwendeten Code (Abfrage, Anzahl Ergebnisse, Ausgabe) und sage uns, welche datensätze fehlen
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Hallo.

          Das geschilderte Problem habe ich gelöst. Der Schlüssel zur Lösung ist
          dieser Befehl:

          while ($rows=mysql_fetch_array($result))
          {echo $rows[spaltenname];}

          Dadurch lassen sich alle für mich benötigte Datensätze anzeigen.

          Nun gibt es ein anderes Problem, zu dem ich euch bitten möchte eine Lösung vorzuschlagen.

          Situation:

          Es gibt ein Formular mit folgenden Feldern:

          Kennnummer :
          Hauptgruppe :
          Untergruppe :
          Sachgebiet :
          Beschreibung :
          Dies sind die "Kriterien" nach denen in der Datenbank gesucht werden soll. Nun taucht folgendes Problem aus: Es können alle 5 Suchwörter eingegeben werden, aber auch nur eins oder zwei Wörter. Mit einer vollständigen Suchanfrage würde die SELECT-Abfrage einfach sein

          SELECT dies, jenes, da, her, dort FROM das WHERE dies LIKE $var AND jenes LIKE $var1 AND ...;

          Wenn es aber nur ein Suchwort gibt, dann würde die SELECT-Anfrage dementsprechend aussehen.

          Wie kann ich dieses Problem geschickt lösen, um die vielen IF-Abfragen bezüglich der Suchfelder nicht durchführen zu müssen.

          Danke

          Kommentar


          • #6
            PHP-Code:
            $bedingungen = array();
            if (isset(
            $_POST['blubb'])) {
              
            $bedingungen[] = 'blubb LIKE "'.$_POST['blubb'].'"';
            }
            ...
            $query 'SELECT blubb FROM tabelle WHERE ';
            $query .= implode('AND'$bedingungen); 

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar


            • #7
              Hallo!

              @ ghostgambler
              Könntest du bitte dein Code ein wenig erläutern? Ich habe damit ein paar Probleme.

              Danke!

              Kommentar


              • #8
                wieso soll er einfach mal drauf los erklären? _du_ könntest uns doch sagen was für ein problem du hast.
                die funktionen kannst du ja im manual nachschlagen
                MfG
                aim
                Lies mich jetzt!
                - OT-Tags-Liebhaber und BB-Code-Einrücker -

                Kommentar


                • #9
                  PHP-Code:
                  $bedingungen = array(); // Array initialisieren
                  if (isset($_POST['blubb'])) { // _POST-Parameter gegeben?
                    
                  $bedingungen[] = 'blubb LIKE "' $_POST['blubb'] . '"'// Wenn ja, Bedingung ins Array schreiben
                  }
                  ... 
                  // hier folgen die 3 Zeilen für jede weitere Post-Variable noch einmal
                  // z.B.
                  if (isset($_POST['blub2'])) {
                    
                  $bedingungen[] = 'blub2 LIKE "' $_POST['blub2'] . '"';
                  }

                  $query 'SELECT blubb FROM tabelle WHERE '// Anfang vom Query
                  // Hier werden alle Bedingungen aus dem Array mit AND verknüpft und an $query angehängt
                  $query .= implode(' AND '$bedingungen); 
                  Mach doch einfach mal ein paar Ausgaben rein, das Skript sollte wirklich nicht schwer zu verstehen sein

                  [edit]
                  Beim implode fehlten beim ersten Parameter die Leerzeichen, das ist in der vorigen Version ein Fehler
                  btw. Selbstverständlich sollte sein, dass die $_POST-Variablen im Query noch mit mysql_real_escape_string escaped werden müssen!

                  Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                  bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                  Wie man Fragen richtig stellt

                  Kommentar

                  Lädt...
                  X