[PHP] Fortlaufende Nummern in Mysql schreiben, Count erhöhen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von °EraZoR°, 8. Januar 2008 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 8. Januar 2008
    Fortlaufende Nummern in Mysql schreiben, Count erhöhen

    Hi,
    also ich habe folgendes vor..

    Ich möchte eine Page wie hxxp://www.myex.at.cx machen...

    Bin halt grad am PHP Scripten...
    Mein aktuelles Problem..
    Ich weiß net wie ich folgendes umsetzen soll...

    Ich möchte halt eine ID in der MySQL DB speichern..
    Also eine fortlaufende nummer...
    wenn also in der DB in der Spalte 559 steht dann soll er für die nächste ID halt 560 nehmen...

    Dazu sollen dann die IP in die nächste Spalte.. >> das kann ich

    In die 3. Spalte soll dann ein Count gemacht werden....
    also der gast soll dann zB auf:
    meineurl.de/id=$id
    gehen...

    und denn soll der Count der ID erhöht werden..

    wie stelle ich das an?

    MfG
    °EraZoR°

    PS:
    die 2 posts unten beziehen sich auf ein anderes Prob von mir
     
  2. 8. Januar 2008
    AW: Parse error: syntax error, unexpected T_VARIABLE in ...

    Ähhm im prinziep ist da alles verkehrt, wenn du die Syntax Fehler behoben hättest, stünde dort immer noch eine Sinnlose SQL Query....

    Was willst du tun?
    -> Neuen Datensatz

    PHP:
    $sql  "INSERT INTO user (id, count, xy) VALUES ('" . $id . "', '" . $count . "', '" . $xy . "')" ;
    $res  mysql_query ( $sql );
     
  3. 8. Januar 2008
    AW: Parse error: syntax error, unexpected T_VARIABLE in ...

    //EDIT:
    okay jetzt gehts..
    jetzt hab ich bloß nen andres prob..
    habs oben hingeschrieben
     
  4. 8. Januar 2008
    AW: Parse error: syntax error, unexpected T_VARIABLE in ...

    Damit du so eine fortlaufende ID bekommst, gibst du bei der erstellung der Tabelle bei dem Feld 'ID' einfach als Extra das 'auto_increment' an.
    Wenn du mit phpMyAdmin arbeitest, kannst du das auto_increment aus der "Extras" Tabelle bei der Spalte auswählen.
    Dann musst du nur noch darauf achten beim erzeugen eines neuen Datensatzes keinen Wert für diese Spalte anzugeben.

    Zu der Sache mit dem Counter....
    Du guckst einfach ganz oben, ob der $_GET['id'] vorhanden ist, wenn ja führst du eine SQL Query aus welche den Wert des Feldes Count des Datensatzes mit der ID erhöht.

    Wenn du willst kann ich dir auch den Code dazu posten
     
  5. 8. Januar 2008
    AW: Fortlaufende Nummern in Mysql schreiben, Count erhöhen

    Machst ID "ID INT AUTO_INCREMENT PRIMARY KEY" oder liest einfach die letzte variable aus und machst ein auf "$var + 1;" bzw "$var++", $var speicher in neuer Zeile?
     
  6. 8. Januar 2008
    AW: Parse error: syntax error, unexpected T_VARIABLE in ...

    kannste machen wenn du die die arbeit machen willst...
    ich werde es mal selber versuchen...
    aber mach du auch ma lieber^^ ich bekomm das bestimmt net so hin XD

    //EDIT:
    wie muss ich denn die Tabelle erstellen?
    wenn ich in PMA neue Tabelle mit einem Feld erstelle und dann:
    Feld: id
    Typ: TEXT
    Länge:
    Attribute:
    Null: Not Null
    Standard:
    Extra: auto_increment

    jedoch kommt dann:
    Code:
    #1063 - Incorrect column specifier for column 'id' 
    mmh...
    wenn ich als Typ INT einstelle kann ich sie ja ne id nennen..

    //EDIT2:
    hatte was falsch eingestellt.
     
  7. 8. Januar 2008
    AW: Parse error: syntax error, unexpected T_VARIABLE in ...

    Das würde im prinziep das machen was du wolltest.
    Es erhöht den Wert des Feldes Count von dem Datensatz welcher die ID = GET[id] hat.
    PHP:
    if (!empty( $_GET [ 'id' ])) {
      
    $sql  "UPDATE user SET count = 'count + 1' WHERE id = '" . $id . "'" ;
      
    mysql_query ( $sql );
    }
     
  8. 8. Januar 2008
    AW: Parse error: syntax error, unexpected T_VARIABLE in ...

    1. Prinzip schreibt man nicht mit "ie"!
    2.
    PHP:
    <? php
    $id 
    intval ( $_GET [ 'id' ]);  // geht nur wenn du nur zahlen in der id hast, nich wenn's zb n hash oder so is.
    mysql_query ( "UPDATE `user` SET count = count + 1 WHERE id =  $id " );  // bei Zahlen brauch man keine ' und in den " des qrys brauch man auch nicht ' " . $var . " ' machen! :)
    if( mysql_error ()) print  'mysql error: ' . mysql_error ();
    else print 
    'updated.' ;
    ?>
     
  9. 8. Januar 2008
    AW: Parse error: syntax error, unexpected T_VARIABLE in ...

    ich hab vor einiger zeit auch sowas versucht, leider is sie nicht bekannt gewurden.naja, hab auch nichts für getan.war mir mit der zeit doch zu bescheuert

    soll die seite funktionieren?ich vermute mal ja.
    ich habe einfach die generierte id, also die, die hinten an der adresse hängt abgespeichert und sie mit count +1 immer erhöht.(mit ner ip sperre)

    da ich mich mit php usw. gar nicht auskannte/auskenne ist der code auch nicht so der bringer, aber er funktioniert

    freek
     
  10. 8. Januar 2008
    AW: Parse error: syntax error, unexpected T_VARIABLE in ...

    okay danke euch beiden..
    bws hab ich schonma allen von euch gegeben....
    ich werde mal weiter machen..
    wenn ich nochmal fragen hab denn poste ich hier nochmals..
     
  11. 8. Januar 2008
    AW: Parse error: syntax error, unexpected T_VARIABLE in ...

    @Telefonzelle: ["// bei Zahlen brauch man keine ' und in den " des qrys brauch man auch nicht ' " . $var . " ' machen! "]

    Die ' (Hochkommata) auch bei Zahlen zu machen sollte man sich angewöhnen, da dies zum Beispiel bei einer Select Abfrage eine Sicherheitslücke schließt welche ohne die Verwendung von Hochkommata eine Lücke darstellen !!
     
  12. 8. Januar 2008
    AW: Parse error: syntax error, unexpected T_VARIABLE in ...

    Quatsch.
    Ich hab im Beispiel intval() benutzt, was einen möglichen String als Eingabe in einen Integer konvertiert wenn möglich, also kann man damit keine Sicherheitslücken mehr ausnutzen.
     
  13. 8. Januar 2008
    AW: Parse error: syntax error, unexpected T_VARIABLE in ...

    Stop! Lern lesen!
    Ich habe nicht gesagt das du eine Sicherheitslücke produziert hast !
    Du hingegen hast gesagt das man allgemein die Hochkommata weglassen könne, wodraufhin ich dich / alle darauf hingewiesen habe, dass dies eine Sicherheitslücke ist wenn man sie allgemein wegläßt.
     
  14. 8. Januar 2008
    AW: Parse error: syntax error, unexpected T_VARIABLE in ...

    Soooo,
    das ganze geht jetzt..
    Das Counten etc...

    Nur das Problem ist, dass ich mit ein und derselben IP mehrmals den gleichen count erhöhen kann...
    Wie kann ich das machen, dass das nicht mehr möglich ist......?

    MfG
     
  15. 8. Januar 2008
    AW: Parse error: syntax error, unexpected T_VARIABLE in ...

    am besten speicherste die ip addr von dem "ersteller" in der mysql datenbank und gleichst sie per if mit der jetztigen ab
    wenn sie gleich sind führst du deine befehle nicht aus
    wenn sie nich gleich sind schon

    Code:
     "$REMOTE_ADDR" is der schlüssel 
     
  16. 8. Januar 2008
    AW: Parse error: syntax error, unexpected T_VARIABLE in ...

    yo habs jetzt auch..
    ich mach erstmal dicht..
    falls wieder probs auftauchen öffne ich wieder..
     
  17. 9. Januar 2008
    AW: Parse error: syntax error, unexpected T_VARIABLE in ...

    too.
    hochkommata bei zahlen sind in sql genauso wenig erforderlich wie in php.
    btw is mit hochkommata rechnen in sql genauso fail wie in php.

    schöner hinweis mit der sicherheitslücke, aber einem geübten php-coder sollte klar sein das man querys nie direkt (unformatiert zb. via GET oder POST) an die db schickt.
     
  18. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.