Toon posts:

[MYSQL] Probleem met Update!

Pagina: 1
Acties:

Verwijderd

Topicstarter
Heej ik heb een probleempje met Updaten het volgende heb ik (natuurlijk is er vooraf al conectie gemaakt :))
PHP:
1
2
3
4
5
6
7
8
<?
$sqlquery = "SELECT max(id) FROM nieuws";
$result = mysql_query($sqlquery);
$number = mysql_numrows($result);
$id = ($number);

mysql_query("UPDATE nieuws SET naam='$naam' WHERE id='$id'"); 
?>

Nu is het probleem, als ik nu id: 7 verandert dan verandert hij in het DB ID:1 ipv 7

Misschien newbie vraag, maar IK kom er niet uit :)

BVD Mr.Eminem

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

uhm, max(id) geeft 1 row terug (met daarin het maximum van de kolom id).
Dus als je in de var $number het aantal rows stopt (mysql_num_rows) dan is het natuurlijk niet vreemd dat je altijd id=1 update

Today's subliminal thought is:


  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 17-09 08:12

Crazy D

I think we should take a look.

1. haal de ' en de ' om het id heen weg, ik neem aan dat het een nummertje is, en die hebben geen quotes eromheen staat (strings wel...)
2. max geeft het hoogste nummer. Je zal dus max + 1 moeten doen om het eerst volgende vrije nummer te bepalen.
[edit]
3. autonummering (of hoe die ook heet in mysql) is errug makkelijk
4. ik moet beter lezen (tnx Annie ;). Zelfs een niet-php-er zou toch moeten zijn dat mysql_numrows iets is om het aantal rows dat je terug hebt gekregen van je query op te vragen ;)

Exact expert nodig?


Verwijderd

Topicstarter
dus:

mysql_query("SELECT * FROM nieuws");

moet het doen :)

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 17-09 22:25

Janoz

Moderator Devschuur®

!litemod

Op dinsdag 09 oktober 2001 18:36 schreef Mr.Eminem het volgende:
dus:

mysql_query("SELECT * FROM nieuws");

moet het doen :)
Nee, stel je hebt:

id
1
3
4
5

Dat zijn 4 rows en het maximum is 5... Als je max(id) opvraagt, waarom lees je die dan niet uit?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

Topicstarter
ja maar als ik wil veranderen doe ik gewoon verander.php?id=5 dus als ik dan id=2 doet en die is er nie dan zie ik gewoon nix toch? dus moet het werken....?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op dinsdag 09 oktober 2001 17:36 schreef Crazy_D het volgende:
1. haal de ' en de ' om het id heen weg, ik neem aan dat het een nummertje is, en die hebben geen quotes eromheen staat (strings wel...)
maakt erg weinig uit
2. max geeft het hoogste nummer. Je zal dus max + 1 moeten doen om het eerst volgende vrije nummer te bepalen.
Dat heeft hier niet zo mee te maken lijkt me? :)
3. autonummering (of hoe die ook heet in mysql) is errug makkelijk
Tsja, maar wie zegt dat ie dat niet doet? :)
4. ik moet beter lezen (tnx Annie ;). Zelfs een niet-php-er zou toch moeten zijn dat mysql_numrows iets is om het aantal rows dat je terug hebt gekregen van je query op te vragen ;)
Dat is wel correct :)

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op dinsdag 09 oktober 2001 19:23 schreef Mr.Eminem het volgende:
ja maar als ik wil veranderen doe ik gewoon verander.php?id=5 dus als ik dan id=2 doet en die is er nie dan zie ik gewoon nix toch? dus moet het werken....?
Wat wil je nou eigenlijk precies met deze query hierboven bereiken??

  • Nielsz
  • Registratie: Maart 2001
  • Niet online
GoT, vraagt hij het eerst op web-con, kan ik het hier nog een keer gaan uitleggen...

Verwijderd

Topicstarter
ja weet ik, maar ik ben ongelduldig :P:P en Web-Con was ffies offline geweest en heb het egt nodig, daarom heb ik het hier gevraagd om antwoord te krijgen :) maarja je hebt gelijk :)
Pagina: 1