Jeg er ikke sikker på at jeg forstår din beskrivelse helt, men du skal undersøge om "refkode" er brugt.
Lav et databaseopslag og placer alle refkoder i en array. Derefter kan du lave en søgning i den nye array og se om den refkode som ønskes eksisterer allerede. Brug evt. in_array!
Jeg har lige skrevet denne lille kodestump til dig - som du dog skal tilpasse (lidt udfordring skal du have ;-) :
//Hent informationer fra database $check_refkode = $_POST['refkode']; if (isset($check_refkode)) { $check_sql = "SELECT [TABEL] FROM [COLUMN]"; $sql_result = mysql_query($check_sql); //Place query result in array $temp_array = array(); while ($sql_row = mysql_fetch_array($sql_result)) { $temp_array[] = $sql_row['[COLUMN]']; } //Search array for refkode $search = in_array($check_refkode, $temp_array); //Make error if refkode exists in database if ($search == 1) { $refkode_error = "Refkoden findes allerede i databasen!"; } }
Koden er ikke efterprøvet, men jeg har selv brugt noget tilsvarende tidligere så jeg er rimelig sikker på at det virker!
Men går denne kode ind og tjekker om USED er 0 eller 1 eller tjekker den blot on ref koden allerede er i databasen ?
Den skal tjekke om ref koden er brugt engang før. og hvis IKKE den er skal den opdatere USED fra 0 til 1. og give en besked om at koden er accepteret. ?
//Hent informationer fra database if(isset($_POST['refkode']) && $_POST['refkode'] != "") $check_refkode = $_POST['refkode']; $check_sql = "SELECT id FROM tabel WHERE refkode='$check_refkode' AND used=0 LIMIT 1"; $sql_result = mysql_query($check_sql) or die(mysql_error()); //Place query result in array if(mysql_num_rows($sql_result) > 0) { echo "ok"; $mysql_query("UPDATE tabel SET used=1 WHERE refkode='$check_refkode' LIMIT 1") or die(mysql_error()); } else { echo "koden findes ikke, eller er allerede brugt!"; } }
Den kode som jeg lavede i #5 gik på at trække data ud af en tabel og placere resultatet i en array. Derefter kan du hurtigt undersøge om arrayet indeholder data svarende til det input som brugeren kommer med. Jeg bruger denne metode til fx at tjekke om et brugernavn allerede er brugt.
Skal du kun tjekke en bruger? Er der flere brugere som kan have samme refkode?
splazz. ja koden er i databasen. jeg skal tjekker om den er brugt eller ej, default er USED sat til 0.(vil sige ikke brugt) Hvis refkoden ikke er brugt når man taster den ind, skal den skifte fra 0 til 1.(vil sige den nu er brugt)og komme meden besked om at koden er godkendt.
hvis man så prøver bruge en brugt kode igen skal den komme med en fejl.
Jeg vil gerne at alle beskeder (echo) kommer lige over mit input felt.
det min kode gør i #8, er at tage indholdet af POST-variablen refkode og tjekker i databasen om den findes OG om den har used=0, hvis den ikke findes, eller findes og used=1 melder den fejl, ellers melder den ok
$conn = mysql_connect("HOST", "USER", "PASS"); mysql_select_db("DB"); //Hent informationer fra database if(isset($_POST['refkode']) && $_POST['refkode'] != "") { $check_refkode = $_POST['refkode']; $check_sql = "SELECT id FROM ref WHERE refkode='$check_refkode' AND used=0 LIMIT 1"; $sql_result = mysql_query($check_sql) or die(mysql_error()); //Place query result in array if(mysql_num_rows($sql_result) > 0) { echo "ok"; mysql_query("UPDATE ref SET used=1 WHERE refkode='$check_refkode' LIMIT 1") or die(mysql_error()); } else { echo "koden findes ikke, eller er allerede brugt!"; } }
hvis det er rigtigt. så virker det ihvertfald ikke :) Mit text felt har Name: refkode
håber sku da snart jeg lære php, ville være meget nemmer :D
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.