login  Naam:   Wachtwoord: 
Registreer je!
 Forum

checken of het al bestaat

Offline compudoc - 16/01/2007 17:47
Avatar van compudocPHP beginner Ik ben een profiel pagina aan het maken maar daar zijn geen verplichte velden. Dus je kan geen profiel hebben of je hebt er wel een 

nou wil ik kijken dat op het moment dat je de gegevens hebt ingevoerd dat er word gecheckt of je naam al in de profielen tabel voorkomt.

ja => update query
nee => insert query

Dat met die query's enzo kan ik zelf wel maar hoe kan ik checken of het bestaat of niet?

alvast bedankt

15 antwoorden

Gesponsorde links
Offline Rik - 16/01/2007 17:49
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Als je een tabel hebt met al die niet-verplichte velden die standaard op null staan is het simpel. Dan kun je gewoon altijd een update query uitvoeren.
Offline compudoc - 16/01/2007 17:51
Avatar van compudoc PHP beginner ja maar dat is het nou net, als jouw profiel nog niet bestaat (in de tabel) kan je ook niet updaten 
Offline Rens - 16/01/2007 17:52
Avatar van Rens Gouden medaille

Crew algemeen
Ik neem aan dat je een ID erbij zet?
Dan controleer je of het ID al in de tabel voorkomt.
Met een query als:
  1. SELECT COUNT(id) FROM profielen WHERE lid=<id_lid>;
Offline compudoc - 16/01/2007 17:53 (laatste wijziging 16/01/2007 17:53)
Avatar van compudoc PHP beginner kan je ipv (id) ook gewoon bijvoorbeeld (naam) zetten?
zodat er word gezocht in de kolom naam
Offline zamna - 16/01/2007 17:54
Avatar van zamna HTML beginner duh
Offline compudoc - 16/01/2007 17:55
Avatar van compudoc PHP beginner bedankt iedereen, ik ga proberen
Offline Rens - 16/01/2007 17:55
Avatar van Rens Gouden medaille

Crew algemeen
Die COUNT(id) is gewoon voor het tellen van een rij.
Het kan van alles zijn, als het maar voorkomt in je tabel.
Maar het kan ook een * zijn, en dan telt hij ook gewoon.
Dus óf een veld uit je tabel, óf een *.
Offline Barato - 16/01/2007 18:12
Avatar van Barato Nieuw lid COUNT(*) is tijdverspilling, zelfs COUNT(id) is nergens voor nodig. COUNT(1) werkt prima.
Offline Gerard - 16/01/2007 20:12
Avatar van Gerard Ouwe rakker Gewoon altijd updaten, daarna controleren of mysql_affected_rows op 1 staat, als dat niet zo is dan is die rij nog niet aanwezig en voer je de insert query dus eenmalig uit.
Offline Berten - 17/01/2007 10:15
Avatar van Berten PHP beginner
  1. $result = mysql_query("select * from profielen where naam='".$naam."') or die(mysql_error());
  2. if(mysql_num_rows($result) == 0) {
  3. mysql_query("insert...");
  4. } else {
  5. mysql_query("update...");
  6. }


Let wel op:
Als er 2 mensen met de zelfde naam zijn zit je in de probleem, maar ik neem aan dat je met 'naam' een unieke nickname bedoelt
Offline Kr4nKz1n - 17/01/2007 10:17
Avatar van Kr4nKz1n Onbekend
  1. <?
  2. if(empty(mysql_num_rows($result)))
  3. ?>
Offline Ultimatum - 17/01/2007 10:22
Avatar van Ultimatum PHP expert @hierboven is het niet
  1. <?php
  2. if(mysql_num_rows($result) == 0)
  3. ?>
Offline Kr4nKz1n - 17/01/2007 10:24 (laatste wijziging 17/01/2007 10:25)
Avatar van Kr4nKz1n Onbekend Je hebt de vorige pagina niet bekeken zeker? 
Daar staat jouw if-statement ook al.

Je kan natuurlijk ook REPLACE gebruiken.
Offline Berten - 17/01/2007 10:33 (laatste wijziging 17/01/2007 10:33)
Avatar van Berten PHP beginner Kr4nKz1n

heb jouw methode nooit gebruikt. werkt die?

mysql_num_rows($result) krijgt toch gewoon waarde 0 dan, dus in principe is die niet leeg.

maa rkan zijn dat php dit wel 'ondersteund' natuurlijk.
Offline Kr4nKz1n - 17/01/2007 11:08
Avatar van Kr4nKz1n Onbekend Dit is mijn methode nog geen eens.

Ik gebruikt zelf altijd mysql_result.
  1. <?
  2. $count= mysql_result(mysql_query("SELECT count(id) FROM tbl_name"),0);
  3. if(Empty($count))
  4. ?>


Of zo 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2025 Sitemasters.be - Regels - Laadtijd: 0.24s