Ankündigung

Einklappen
Keine Ankündigung bisher.

Update mySQL - nicht so machbar?

Einklappen

Neue Werbung 2019

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

  • Update mySQL - nicht so machbar?

    Hi,

    Ich hab einen Table mit ID, Mail und Name.
    Die Daten in Name würd ich jetzt gerne auseinander pflücken, da
    die bisher z.B. "Dr. Martin Test" beinhalten.

    PHP-Code:
    <?php

    $con 
    mysql_connect("localhost","root","");
    mysql_select_db("grab2"$con);

    $i=1;
    while(
    $i<850){
          
    $sqlselect mysql_query("SELECT Leiter FROM schule WHERE id=".$i$con);
    if (!
    $sqlselect) {
       die(
    "klappt nich :| " msql_error());
    }

    while (
    $row mysql_fetch_array($sqlselect)) {
        
    $name $row["id"];

    /* Hier wird der string jetzt zerlegt */


    $sqlupdate mysql_query("Update schule
                             SET    titel = '
    $titel',
                                    vorname = '
    $vorname',
                                    nachname = '
    $nachname'
                            WHERE Leiter ='
    $name'");

                            

    }
    }
    ?>
    Hab mir da aber scheinbar eine endlosschleife gebastelt. Finde meinen Fehler aber leider nicht selber - hab den Code glaub ich ein paar mal zu oft durchgekaut, so dass mir alles logisch erscheint.


  • #2
    hast du nicht ein $i++ vergessen? Arbeite lieber mit ner For schleife!!!
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      Bringts denoch nicht, hab beim kürzen das i++ weggekürzt, hier ist es aber da.
      Nochmal der ganze Code mit der for schleife:

      PHP-Code:
      <?php

      $con 
      mysql_connect("localhost","root","");
      mysql_select_db("grab2"$con);

      for(
      $i=1;$i<860$i++)  {

      echo 
      "vor dem select ".$i."<br>";      
      $sqlselect mysql_query("SELECT Leiter FROM schule WHERE id=".$i$con);

      while (
      $row mysql_fetch_array($sqlselect)) {
          
      $name $row["$i"];

      echo 
      "nach dem select<br>";
      echo 
      "name".$name."<br>";

      $titelposstrpos($name"Dr. ");
      echo 
      "Name:".$name."<br>";
      echo 
      "Titelposition:".$titelpos."<br>";
         if(
      $titelpos === false){
         
      $titel "nicht angegeben";
         
      $leerzeichen strpos($name" ");
         
      $vorname substr($name0$leerzeichen);
         
      $nachname substr($name$leerzeichen +1);
         }
      else{
         
      $titel substr($name0$titelpos+4);
         
      $rest substr($name$titelpos+4);
         
      $leerzeichen strpos($rest" ");   
         
      $vorname substr($rest0$leerzeichen);
         
      $nachname substr($rest$leerzeichen);
      }
      $sqlupdate mysql_query("Update schule
                               SET    titel = '
      $titel',
                                      vorname = '
      $vorname',
                                      nachname = '
      $nachname'
                              WHERE id ='
      $i'");

      }
      }
      ?>

      Kommentar


      • #4
        Hi.

        Ähm

        for($i=1;$i<860; $i++) {
        Warum ermittelst du nicht einfach die Anzahl der Datensätze, anstatt hier ein festen Wert einzufügen? Wirklich flexibel ist das nicht! Endlosschleife kann das jetzt aber nicht mehr sein, da Du ja mit der For Schleife eine Begrenzung eingefügt hast - jedoch kann es dauern bis das ausgeführt ist! Was für eine Fehlermeldung bekommst Du jetzt?

        Wolf29
        while (!asleep()) sheep++;

        Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

        Kommentar


        • #5
          Eine endlos schleife kann es aber auch nicht mehr sein.

          Die id dürfte maximal 1x vergeben sein. Die ganzen echos werden dir unendlich mal ausgegeben?
          Look at This!
          Digital-Duty.DE
          Für Syntax-Fehler übernehme ich keine Haftung!

          Kommentar


          • #6
            Endlosschleife sehe ich auch nicht (mehr), aber das hier ist nicht so ganz richtig:

            PHP-Code:
                while ($row mysql_fetch_array($sqlselect)) {
                                
            $name $row["$i"]; 

            Kommentar

            Lädt...
            X