gesamte Datenbank update

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

  • gesamte Datenbank update

    Hallo,

    ich möchte aus meiner Datenbank ADRESSEN die Daten aus der Tabelle "BUERGER" auslesen und anschließend ohne eine ID Überprüfung mit einem neuen Wert updaten. Dieser wird vorher berechnet. Und zwar soll das aktuelle Alter dadurch ersetzt werden.

    Hier nun der CODE mit Beispiel Datenbank

    PHP-Code:
    $dbserver ='localhost';
    $dbname ='adressen';
    $dbuser ='abcdefg';
    $dbpassword ='12345';

    $db mysql_connect($dbserver,$dbuser,$dbpassword);
    $updaten "update buerger set buerger_alter ='$alter_neu'";
    $meldung mysql_query($updaten,$db);

    if(
    $meldung) { echo "Erfolgreich"; } else { echo "Fehler"; } 
    Das Script läuft ohne Probleme durch und gibt mir auch eine Erfolgsmeldung. jedoch wenn ich die Datenbank durchsuche, stelle ich fest, dass sich garnichts verändert hat.

    Übrigens: Auf meinem lokalen Server funktioniert das Ganze. Nur nicht im Netz.

    Woran kann das liegen? Lann mir jemand helfen?
    Zuletzt geändert von donner_blitz; 30.08.2005, 19:39.

  • #2
    irgendein mysql_error() ?
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      keine Fehlermeldung mehr. Plötzlich funktioniert es.

      Nur habe ich jetzt folgendes Problem. Die Tabelle besteht ja nun aus ca. 100 Datensätzen. jeder hat nun ein anderes Geburtsdatum und das muss neu berechnet werden.

      Hier zunächst mein Script und dann darunter weitere Erklärungen.

      PHP-Code:
                $result1=mysql_query("SELECT * from aupair ");

         
      $anz=mysql_num_rows($result1);

         if ( 
      $anz )
            {

             while ( 
      $row1=mysql_fetch_array($result1) )
               {

           
      $tag $row1[aupair_birth_day];
           
      $monat$row1[aupair_birth_month];
           
      $jahr =$row1[aupair_birth_year];

             
      $day date("d",time());
           
      $month date ("m",time());
           
      $year date ("Y",time());

            if (
      $year $jahr)

             {

              if (
      $month $monat)

                 {

                 
      $aktuell =$year-$jahr;

                  }

             elseif (
      $month $monat)

                  {

                  
      $aktuell =$year-$jahr-1;

                   }

              elseif (
      $month $monat)

                   {

                    if (
      $day $tag)

                       {

                        
      $aktuell =$year-$jahr-1;

                        }

                    if (
      $day <= $tag)

                       {

                       
      $aktuell =$year-$jahr;

                        }

          }

      else
           {
               
      $aktuell "0";

           }





      }




      $schreiben "update aupair set aupair_birth='$aktuell';";
      $test mysql_query($schreiben,$conn_id);

      if(
      $test) { echo "Id-Nr.: ".$row1[aupair_id]." erfolgreich mit Alter: ".$aktuell." upgedatet".
      "<br>" ;} else { echo "Fehler"; }

      }}


       
      ?> 
      Das Ergebnis wird auch folgerichtig mit dieser Meldung angezeigt:
      PHP-Code:
      Id-Nr.: 3 erfolgreich mit Alter46 upgedatet
      Id
      -Nr.: 4 erfolgreich mit Alter43 upgedatet
      Datenbank ist upgedatet 
      Jedoch beim update selber, schreibt das System in jedem Datensatz das Alter 43 rein. Das darf natürlich nicht sein. Es müsste jeder Datensatz einzeln überprüft und neu berechnet werden. Also, für die ID-Nr. 3 hätte 46 eingetragen werden müssen und im Datensatz ID-Nr.:4 das Alter 43.

      Was mache ich hier verkehrt?

      Kommentar


      • #4
        du mußt den jeweiligen datensatz per WHERE identifizieren? kannst du die berechnung eventuell sogar per sql durchführen? und dir den php-kram sparen?

        btw: setz mal dein error_reporting auf E_ALL, zahlen brauchen nicht in ' ' stehen ...
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Das mit einer WHERE Abfrage habe ich noch nie gemacht. Könntest Du mir da Hilfestellung geben?

          Nachtrag:

          Ich glaube dass das die richtige Lösung ist:

          PHP-Code:
          $schreiben "update aupair set aupair_birth='$aktuell' where aupair_id='$row1[aupair_id]';";
          $test mysql_query($schreiben,$conn_id); 
          Zumindest hat es in der Probephase jetzt funktioniert. Ich danke Dir für Deine Tipps, die meine grauen Gehirnzellen angeregt haben und ich dadurch letztendlich dank deiner Hilfe eine Lösung gefunden habe.
          Zuletzt geändert von donner_blitz; 30.08.2005, 22:11.

          Kommentar

          Lädt...
          X