Aktualisierung der mysql datenbank

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

  • Gamingo
    antwortet
    rowb steht für den datensatz

    Bsp.:
    row[]
    0[]

    1[id]; zeigt 37555
    1[user]; zeigt ingo
    wenn neuer Datensatz
    2[id]; zeigt 37554
    2[user]; zeigt heinz

    warum sollte ich es jetzt umschreiben wenn ich es so vorerst besser verstehe, kann den quelltext später optimieren. Hab php nicht studiert. wenn ja könnte ich behaupten das es kein problem für mich wäre.

    also nochmal;

    als erstes frage ich in der datenbanktabelle 1 ab ob einträge vorhanden sind die verlängert wurden sind; wenn ja dann soll er sie mir anzeigen(aber nur die ID).

    zweitens soll eine abfrage in tabelle 2 gemachtwerden mit WHERE ID, welche ich aus der ersten abfrage erhalten habe.
    Mir werden als ergebnis die Eintrage angezeigt die geändert werden sollen bzw. schon sind aber noch nicht überträgen.

    die zwei sachen funktionieren gut.

    was nicht funktioniert ist das er kein datenbankupdate macht, auch keine fehlermeldung ausgibt.

    Ich kann mir gut vorstellen das beim update noch etwas fehlt oder liege ich ganz und gar falsch?

    Einen Kommentar schreiben:


  • tontechniker
    antwortet
    "Aber es klappt nicht ..." heißt? Fehlermeldungen (error_reporting ( E_ALL ))? Insgesamt solltest du dein ganzes Skript nochmal überdenken, bzw. erklären was du eigentlich machen willst - das sieht nicht sinnvoll aus.
    PHP-Code:
    echo $rowb[user_id]."<br>";
    echo 
    $rowb[starts]."<br>";
    echo 
    $rowb[ends]."<br>";
    ... 
    Für so etwas gibt es foreach!
    PHP-Code:
    foreach ( $rowb as $key => $value ) {
    echo 
    $value '<br />';
    }
    ...
    $sql 'UPDATE ...';
    foreach ( 
    $rowb as $key => $value ) {
    $sql .= $key ' = "' $value '" ';

    (siehe dazu auch Strings / Arrays)

    Einen Kommentar schreiben:


  • Gamingo
    antwortet
    hab ein wenig rumprobiert und die Ausgabe mal mit echo anzeigen lassen, soweit so gut.

    Aber es klappt nicht das die Daten in die Datenbank übernommen werden.
    Habe ich das Update in die falsche Zeile eingefügt oder fehlt noch eine Abfrage?

    PHP-Code:
    $sql_count "SELECT count(*) FROM Tabelle 1 WHERE verlaengert='1'  "
    $sql "SELECT * FROM Tabelle 1 WHERE verlaengert='1'  ";

    $rsl mysql_query $sql_count );
    if (
    $rsl)
    {
    $hash mysql_fetch_array($rsl);
    $total = (int)$hash[0];
    }
    else
    {
    $total 0;
    }
    $result mysql_query $sql );    
    $zaehler='0';
    if (
    $result)
    {    
    while (
    $row=mysql_fetch_array($result))
    {
    echo 
    "WERBE-ID: ".$zaehler." = ".$row[id]."<br>"// pl
    $webs_count++;
    $zaehler++;
                            
    $sqlb_count "SELECT count(*) FROM Tabelle 2 WHERE werbe_id='".$row[id]."' ";
    $sqlb "SELECT * FROM Tabelle 2 WHERE werbe_id='".$row[id]."'";
    $rslb mysql_query $sqlb_count );
    if (
    $rslb)
    {
    $hashb mysql_fetch_array($rslb);
    $totalb = (int)$hashb[0];
    }
    else
    {
    $totalb 0;
    }
     
    $resultb mysql_query $sqlb );    
    if (
    $resultb)
    {        
    while (
    $rowb=mysql_fetch_array($resultb))
    {
    // echo zur veranschaulichung der zu ändernden daten
    echo $rowb[user_id]."<br>";
    echo 
    $rowb[starts]."<br>";
    echo 
    $rowb[ends]."<br>";
    echo 
    $rowb[duration_id]."<br>";
    echo 
    $rowb[duration]."<br>";
    echo 
    $rowb[banner_uploaded]."<br>";
    echo 
    $rowb[banner_url]."<br>";
    echo 
    $rowb[bagrs]."<br>";
    echo 
    $rowb[bannerort0]."<br>";
    echo 
    $rowb[bannerort1]."<br>";
    echo 
    $rowb[bannerort2]."<br>";
    echo 
    $rowb[bannerort3]."<br>";
    echo 
    $rowb[bannerort4]."<br>";
    echo 
    $rowb[bannerort5]."<br>";
    echo 
    $rowb[bannerort6]."<br>";
    echo 
    $rowb[bannerort7]."<br>";
    echo 
    $rowb[bannerort8]."<br>";
    echo 
    $rowb[bannerort9]."<br>";
    echo 
    $rowb[fett]."<br>";
    echo 
    $rowb[marker]."<br>";
    echo 
    $rowb[topkat]."<br>";
    echo 
    $rowb[galry]."<br>";
    echo 
    $rowb[wohers4]."<br>";
    echo 
    $rowb[wohers5]."<br>";
    echo 
    $rowb[wohers6]."<br>";
    echo 
    $rowb[wohers7]."<br>";
    echo 
    $rowb[wohers8]."<br>";
    echo 
    $rowb[wohers9]."<br>";
                        
    echo 
    $rowb[s1h0]."<br>";
    echo 
    $rowb[s1h1]."<br>";
    echo 
    $rowb[s1h2]."<br>";
    echo 
    $rowb[s1h3]."<br>";
    echo 
    $rowb[s1h4]."<br>";
    echo 
    $rowb[s1h5]."<br>";
    echo 
    $rowb[s1h6]."<br>";
    echo 
    $rowb[s1h7]."<br>";
    echo 
    $rowb[s1h8]."<br>";
    echo 
    $rowb[s1h9]."<br>";
    echo 
    $rowb[s2h0]."<br>";
    echo 
    $rowb[s2h1]."<br>";
    echo 
    $rowb[s2h2]."<br>";
    echo 
    $rowb[s2h3]."<br>";
    echo 
    $rowb[s2h4]."<br>";
    echo 
    $rowb[s2h5]."<br>";
    echo 
    $rowb[s2h6]."<br>";
    echo 
    $rowb[s2h7]."<br>";
    echo 
    $rowb[s2h8]."<br>";
    echo 
    $rowb[s2h9]."<br>";
                            
                            
    if (
    $row[verlaengert]=='1') { // Abfrage ob Wert (1) in Tabelle 1 gesetzt wurde
    $verlanz=$row[count_verl]+1;
    $update_sql 
    "UPDATE Tabelle1 SET starts= '".$rowb[starts]."', ends= '".$rowb[ends]."', 
    duration_id= '"
    .$rowb[duration_id]."', duration= '".$rowb[duration]."', 
    banner_uploaded= '"
    .$rowb[banner_uploaded]."', banner_url= '".$rowb[banner_url]."', 
    bagrs= '"
    .$rowb[bagrs]."', bannerort0= '".$rowb[bannerort0]."', 
    bannerort1= '"
    .$rowb[bannerort1]."', 
    bannerort2= '"
    .$rowb[bannerort2]."', 
    bannerort3= '"
    .$rowb[bannerort3]."', 
    bannerort4= '"
    .$rowb[bannerort4]."', 
    bannerort5= '"
    .$rowb[bannerort5]."', 
    bannerort6= '"
    .$rowb[bannerort6]."', 
    bannerort7= '"
    .$rowb[bannerort7]."', 
    bannerort8= '"
    .$rowb[bannerort8]."', 
    bannerort9= '"
    .$rowb[bannerort9]."', 
    fett= '"
    .$rowb[fett]."', 
    marker= '"
    .$rowb[marker]."', 
    topkat= '"
    .$rowb[topkat]."', 
    galry= '"
    .$rowb[galry]."', 
    wohers4= '"
    .$rowb[wohers4]."', 
    wohers5= '"
    .$rowb[wohers5]."', 
    wohers6= '"
    .$rowb[wohers6]."', 
    wohers7= '"
    .$rowb[wohers7]."', 
    wohers8= '"
    .$rowb[wohers8]."', 
    wohers9= '"
    .$rowb[wohers9]."', 
    s1h0= '"
    .$rowb[s1h0]."', 
    s1h1= '"
    .$rowb[s1h1]."', 
    s1h2= '"
    .$rowb[s1h2]."', 
    s1h3= '"
    .$rowb[s1h3]."', 
    s1h4= '"
    .$rowb[s1h4]."', 
    s1h5= '"
    .$rowb[s1h5]."', 
    s1h6= '"
    .$rowb[s1h6]."', 
    s1h7= '"
    .$rowb[s1h7]."', 
    s1h8= '"
    .$rowb[s1h8]."', 
    s1h9= '"
    .$rowb[s1h9]."', 
    s2h0= '"
    .$rowb[s2h0]."', 
    s2h1= '"
    .$rowb[s2h1]."', 
    s2h2= '"
    .$rowb[s2h2]."', 
    s2h3= '"
    .$rowb[s2h3]."', 
    s2h4= '"
    .$rowb[s2h4]."', 
    s2h5= '"
    .$rowb[s2h5]."', 
    s2h6= '"
    .$rowb[s2h6]."', 
    s2h7= '"
    .$rowb[s2h7]."', 
    s2h8= '"
    .$rowb[s2h8]."', 
    s2h9= '"
    .$rowb[s2h9]."', 
    verlaengert='0', 
    count_verl= '"
    .$verlanz."' 
    WHERE id='"
    .$row[id]."' AND user='".$row[user_id]."' "
                    
    $resultbb mysql_query($update_sql); 
    if(!
    $resultbb)
    {
    echo 
    "<BR>Update fehlgeschlagen<BR>";

    }
    $webs_countb++;
    }
    else
    {
    $webs_countb 0;
    }
    }        
    }
    else
    {
    $webs_count 0;

    Einen Kommentar schreiben:


  • ghostgambler
    antwortet
    Original geschrieben von gourmet
    ich würde in beiden tabellen noch eine userid anlegen und dann

    select x,y,z from tab2 where userid=?
    update tab1 set(x=tab2x, y=tab2y ,z=tab2z where userid=?
    wenn update i.o.
    dann
    delete * from tab2 where userid=?
    z.B.
    weitere Variante wäre ein UPDATE mit WHERE und 2 Tabellen und zu empfehlen ist in diesem Fall noch innodb mit Transaktionen, falls es nötig ist.

    Einen Kommentar schreiben:


  • gourmet
    antwortet
    ich würde in beiden tabellen noch eine userid anlegen und dann

    select x,y,z from tab2 where userid=?
    update tab1 set(x=tab2x, y=tab2y ,z=tab2z where userid=?
    wenn update i.o.
    dann
    delete * from tab2 where userid=?

    Einen Kommentar schreiben:


  • arkos
    antwortet
    was heißt, wenn where zutrifft??

    mal ein wenig genauer. denn davon hängt es ggf ab, ob du eine, zwei oder noch mehrere querys brauchst...

    Einen Kommentar schreiben:


  • Gamingo
    hat ein Thema erstellt Aktualisierung der mysql datenbank.

    Aktualisierung der mysql datenbank

    Ich hoffe das mir mit meiner Beschreibung geholfen werden kann.

    Folgendes

    In Datenbanktabelle 1 habe ich Daten diese Daten sollen wenn WHERE zutrifft mit Datenbanktabelle 2 verglichen werden und danach die ausgewählten daten aus Datenbank 2 in Datenbank 1 übernommen und zuletzt Der Datensatz aus Datentabelle 2 gelöscht werden der übernommen wurde.

    Das schaut ungefähr so aus:
    PHP-Code:
    Datenbanktabelle 1
    id  
    name |xxx|yyy |zzz |
    100 Heinz|  |  |
    101 Mark |  |  |
    102 Heino|  |  |

    Datenbanktabelle 2
    id  
    name |xxx|yyy |zzz |
    100 Heinz|  |  |
    101 Mark |  |  |
    102 Heino|  |  
    Wie kann ich hier richtig ansetzen?
Lädt...
X