insert bei richtiger id?

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

  • insert bei richtiger id?

    Hallo,
    ich weiss nicht, ob ich hier richtig bin, es geht aber um php und mysql und die lösung ist bestimmt wieder eine anfängersache, nur komme ich nicht drauf :cry:

    also, folgendes script holt mir 10 datensätze aus einer db, sortiert diese zufällig und schreibt dann die 10 datensätze in eine neue tabelle, in der durch das script eine spalte angelegt wird.

    das funzt so weit auch einwandfrei:

    PHP-Code:
    #####neue spalte beschreiben#####
    $newcol=date("dmyHis");
    $newcolb="d".$newcol;
    echo
    $newcolb;
    echo
    "<br>";
    mysql_query("ALTER TABLE table ADD ".$newcolb." VARCHAR(10) NOT NULL");

    #####------1.hälfte
    // auslesen der ersten 10 datensaetze in array
    $query mysql_query("SELECT userid FROM table ORDER BY kriterium DESC LIMIT 0,10 "); 
    if(
    $query) {   
      
    $buffer = array();   
           while (
    $row mysql_fetch_assoc($query)) { 
           
    $buffer[] = $row['userid']; 
       } 
    //shuffeln
        
    srand ((float)microtime()*1000000); 
        
    shuffle ($buffer); 
        
    print_r($buffer); 
    }


    //daten in db schreiben
    $a $buffer;
    foreach (
    $a as $v) {
             
    mysql_query("INSERT INTO table (".$newcolb.") VALUES ('".$v."')");    
        

    nun mein problem:

    beim letzten teil
    //daten in db schreiben
    hat die db eine struktur mit einer spalte für die id, auto increment.
    alle weiteren spalten werden durch das script eingefügt.

    problem, lasse ich das script laufen, werden die ersten 10 datensätze korrekt mit id von 1-10 eingefügt. läuft es zum zweiten mal fügt es leider, logischerweise die daten bei 11ä-20 ein und 1-10 bleiben in der jeweiligen spalte leer.

    aber genau das will ich nicht!!!
    ich will, dass die daten immer bei 1 beginnend eingefügt werden!

    ich habe auch schon mit "update" rumprobiert, es aber nicht geschafft, da wurde immer das selbe ergebnis eingetragen.
    in der hilfe und im manual finde ich auch keine lösung.

    vielleicht weiss einer von euch weiter... ich steh auffem schlauch :cry:

    *und noch mal sorry, aber es ist ja ein php prob (schleife?) und ein mysql prob, oder?


    EDIT:
    nimm bitte die [ php ] statt der [ code ]-tags, dann wird der soruce auch farbig hervorgehoben, und damit besser lesbar. wahsaga
    Zuletzt geändert von wahsaga; 04.12.2003, 14:18.

  • #2
    Re: insert bei richtiger id?

    Original geschrieben von dertom
    aber genau das will ich nicht!!!
    ich will, dass die daten immer bei 1 beginnend eingefügt werden!
    dann solltest du update verwenden, wenn bereits datensaetze mit den jeweiligen IDs vorhanden sind.

    natuerlich musst du auch auswaehlen, welchen datensatz du jeweils updaten willst - also sollte zum update noch eine geeignete WHERE-klausel hinzugefuegt werden ...
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      *VERSCHIEB* nach sql. da ist es wohl besser aufgehoben.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        das ich dort diese schleife benötige weiss ich auch!

        und da brauche ich ja hilfe"! ich bekomme die nicht hin!

        da ja mehrere daten aus dem array ausgelesen werden muss sich ja der wert für id erhöhen und somit habe ich ein problem in php und nicht in sql. deshalb habe ich in dem anderen forum gepostet.

        kann mir jemand sagen, wie die schleife aussehen muss???

        Kommentar


        • #5
          kann oder will keiner helfen???

          Kommentar


          • #6
            bevor du deinen neuen einträge machst, schickst du das an die DB.

            Code:
            DELETE FROM tabellen_name;
            ALTER TABLE tabellen_name AUTO_INCREMENT = 1;
            geht's dann?
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar

            Lädt...
            X