MySQL DB Navigation

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

  • #16
    Hi TobiaZ,

    danke für die Infos. Gestatte mir noch eine Frage:

    1. select max(code) code from table (logo, verstehe ich)
    aber das ist kein SQL Statement oder? Das wird einfach so ins Skript geschrieben? (schaue ich noch mal im Buch nach)

    2. $arr = mysql_fetch_assoc(); (jupp = den Datensatz als Array)

    3. $code = $arr['code']; (Auch klar, hier wird aus dem Array dann das Feld ausgelesen)

    4. INSERT INTO table Set code = $code (und in den nächsten Datensatz schreiben).

    NUR ...

    Was ist jetzt mit der Erhöhung?
    Geht $code = $code + 1;?

    Ich seh allerdings immer noch nicht den Fehler in meinem Script.
    Vielleicht muss es

    $code = mysql_result($res, $anzahl + 1, 'code');
    (neu ist das +1) heißen???? Ich habe ja vorher die Anzahl der Datensätze festgestellt und will nun auf den letzten Datensatz zugreifen.

    Aber was du mit dem code machst (verwendung) wissen wir immer noch nicht.
    ähm.. ist das nicht auch egal? Zielsetzung ist:
    Nehme letzten Code Eintrag + 1 und schreibe ihn beim Insert wieder in den nächsten Datensatz.

    Gruß und Dank
    Marcus

    Kommentar


    • #17
      Grummel..
      why auch immer. es klappt nur mit Deiner Version. Vielen Dank.
      Ich hab gerade mal ein Stündchen rumprobiert. Ich glaub so ist es echt am sinnvollsten...
      Dank und Gruß
      Marcus

      -- Problem gelöst --

      Kommentar


      • #18
        Freut mich, dass du die Fragen sogar schon alleine lösen konntest. Das sind ja dann schon deine ersten Erfolge

        welchen Code hast du denn jetzt genommen? ich denke, meinen kann man sogar noch ein bisschen verbessern,

        Kommentar


        • #19
          diesen hier:
          PHP-Code:
              $res2 mysql_query("select max(code) code from tbl_singles");
              
          $zeile mysql_fetch_array($res2,MYSQL_ASSOC);
              
          $codeinc = ($zeile["code"]) + 1
          Ich weiß, es muss ein neuer Thread her, aber vielleicht gibt es von Dir dafür ja auch eine so gute Hilfstelltung:

          Jetzt soll eine Abfrage kommen.

          Prinzipiell ja kein Problem:
          "Select * from tbl_singles where.... and ...";

          ABER

          (Sorry, ich muss wieder eine Brücke zu Delphi schlagen).

          Wenn ich nun verschiedene Events abfragen will (also sehen möchte, ob die entsprechenden Suchfelder überhaupt gefüllt wurden), dann mache ich das in Delphi sinngemäß so:

          sql = "Select * from tbl_singles where hilfs = '123' ";
          if $bundesland <> '' then
          sql = sql + "AND bundesland = '$bundesland' ";
          if $alter_von <> '' then
          sql = sql + "AND.....";

          verstehst Du was ich meine?
          Geht das in PHP ähnlich???

          Gruß
          Marcus

          Kommentar


          • #20
            PHP-Code:
            $res2 mysql_query("select max(code)+1 newcode from tbl_singles");
            $zeile mysql_fetch_array($res2,MYSQL_ASSOC); 
            wenns so funktioniert, kannst du dir sogar noch eine zeile sparen.


            new problem:

            Ja, das geht in PHP ganz ähnlich:

            PHP-Code:
            $sql 'SELECT bla...';

            if(
            bedingung) { // du kannst hier besser != statt <> benutzen
            $sql.='weiter mit query';
            } else {
            $sql.='alternatives weiter';

            Kommentar


            • #21
              hio,

              ähm
              a) else ist ja Quatsch. Denn wenn in der Variablen nix steht, dann soll er ja nix machen und mit dem nächsten If anfangen. (nur so am Rande)

              b) Du schreibst immer $sql. (also einen Punkt) wozu ist das?

              Gruß
              Marcus

              Kommentar


              • #22
                a) ja, aber du sollst ja was lernen

                b) Das heißt, der neue Wert wird an den bestehenden Wert angehängt. Lässt du den . weg, so wird der bestehende Wert überschrieben.

                1:1 übertragen müsstest du sowas schreiben: $sql = $sql . 'bla' aber wir sind ja faul!

                Kommentar


                • #23
                  ahsooo :-)

                  Es ist schon ein Kreuz mit PHP wenn man in Delphi den ganzen Käse schon offline seit einiger Zeit macht.
                  Dank Dir noch einmal für die gute Hilfe.

                  Kommentar


                  • #24
                    ist schon war, die struckturen sind sich zwar alle ziemlich ähnlich. aber da sind halt die kleinen unterschiede.

                    Kommentar


                    • #25
                      wo wir hier gerade von Höcksken auf Stöcksken kommen :-).....

                      ich hab mir von einem PHP Programmierer sagen lassen, daß ein Bildupload mit automatischer Namensgebung + skalierter Ausgabe in fixer Größer eher sowas für 2 Wochen Langweile = nicht trivial ist.

                      Gibt es dazu ein Tut oder sowas?

                      Gruß
                      Marcus

                      Kommentar


                      • #26
                        tut wüsste ich nicht. aber nen sehr guten abschnitt im manual: "fileupload" und auch genügend threads im forum.

                        Kommentar


                        • #27
                          PHP-Code:
                          <?
                                   $res = mysql_query("Select * from tbl_singles where bild6= '' ");
                                   if ($geschlecht = 'w')
                                   {
                                       $res.=("And geschlecht='w' ");
                                   }
                                   
                                   if ($geschlecht = 'm')
                                   {
                                       $res.=("And geschlecht='m' ");
                                   }
                                   
                                   if ($plz != '')
                                   {
                                       $res.=("And plz='".$plz."' ");
                                   }
                                   
                                   if ($bundesland != '')
                                   {
                                       $res.=("And bundesland='".$bundesland."' ");
                                   }
                                  
                                  if ($haar != 'egal')
                                   {
                                       $res.=("And haar='".$haar."' ");
                                   }
                                   
                                   if ($alter_von != '')
                                   {
                                       $res.=("And alter >= ".$alter_von." ");
                                   }
                                   
                                   if ($alter_bis != '')
                                   {
                                       $res.=("And alter <= ".$alter_bis." ");
                                   }
                                   
                                   if ($raucher != '')
                                   {
                                       $res.=("And raucher=1 ");
                                   }
                                   else
                                   {
                                       $res.=("And raucher=0 ");
                                   }
                                   
                                   $num = mysql_num_rows($res);
                                   for ($i=0; $i<$num; $i++) 
                               {
                                   $nickname = mysql_result ($res, $i, "nickname");
                                   $id = mysql_result ($res, $i, "id");
                                   $age = mysql_result ($res, $i, "age");
                                   $bland = mysql_result ($res, $i, "bundesland");
                                   $geschlechta = mysql_result ($res, $i, "geschlecht");
                                   
                                      echo "<tr>";
                                    echo "<td colspan=5 width=504>";
                                    
                                    echo "<table border=1 cellpadding=1 cellspacing=1 width=480>";
                                    
                                    echo "<tr><td width=327 bgcolor=#D7D7FF><font size=3 color = blue><b>$Nickname</b></font></td>";
                                    
                                    echo "<td width=130 bgcolor=#D1D1D1><font size=2 color=blue>$geschlechta</font></td>";
                                    
                                    echo "<td width=130 bgcolor=#D1D1D1><font size=2 color=blue>$bland</font></td>";
                                    
                                    echo "<td width=130 bgcolor=#D1D1D1><font size=2 color=blue>$age</font></td>";
                                    
                                    echo "<td width=130 bgcolor=#D1D1D1><font size=2 color=blue>später</font></td>";
                                    
                                    
                                    
                                    echo "</table></td>";
                                    echo "</tr>";
                                }
                                   
                               ?>
                          so, das Problem: Die Abfrage liefert bei richtiger Eingabe kein Ergebnis.
                          Frage: Ist auf den ersten Blick die Abfrage falsch?

                          Gruß
                          Marcus

                          Kommentar


                          • #28
                            Zusatzinfo:

                            Ein echo $res;
                            ergibt keinen Wert. (leer);

                            Kommentar


                            • #29
                              2. ZusatzInfo:
                              Ich bin doof.
                              :-(

                              Wie bekommt man denn die SQL Abfrage ausgegeben?

                              Kommentar


                              • #30
                                musst du zeilenweise in ein array lesen:

                                while($row = mysql_fetch_assoc($res)) {
                                print_r($row);
                                }

                                Kommentar

                                Lädt...
                                X