if abfrage für array
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
anzahl
array
code
dank
durchsuchen
erfassen
frage
funktion
hilfe
lese
mahl
nutzen
schleife
stehen
tip
treffer
umweg
vergleich
vorkommen
-
hallo
ich möchte überprüfen ob in einem array ein beschtimter name entalten is
und zwar mach ich eine registrirung und die user sind in einer db in i lese di aus und dan wil ich kontroliren ob der user der sich registrid ob der name noch nicht forhanden ist alle user der db stehen in einem array bitte um hilfe danke
mfg
mrfreak -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Frag doch direkt die DB, ob der Name vorhanden ist.
select * from deineDb where username = "deinUser"
und fragst dann via num_rows ab, ob der User vorhanden ist. Wenn 0 ist der name frei, bei größer als 0 nicht.
Für dein Array wäre es die Funktion array-search ( http://de.php.net/manual/de/function.array-search.php ), ist aber ein unnötiger Umweg.
Beitrag zuletzt geändert: 17.9.2010 23:54:56 von vertico -
danke hab es schon mit is_array geschaft aber danke für den tipp
-
Mit is_array?! Sicher? Die Funktion prüft, ob die angegebene Variable ein Array ist. Ich kann nicht so recht nachvollziehen, wie du damit prüft, dass im Array Name XYZ vorhanden ist...
-
Hallo
die Frage ist ja if abfrage in array
Was für ein Array? oder direkt aus MySQL-ABfrage?
... $anzahl = count($user); $check_name = "Hans"; // ---- Username --- for ($x=0; $x<$anzahl; $x++) { // ----- Schleife ---- if ( $user[$x]['name'] == $check_name ) { // ----- if Abfrage ---- // ----- hier Treffer als Array speichern ---- } } $anzahl_treffer = count($treffer); ...
dann kann mal als Treffer auch ein Array erstellen,
um mehrere Vorkommen auch erfassen zu können
anstatt der for-Schleife kannst Du das ja auch in einer MySQL-Abfrage so machen
Beitrag zuletzt geändert: 18.9.2010 7:31:28 von gewerbe -
mrfreak schrieb:
hallo
ich möchte überprüfen ob in einem array ein beschtimter name entalten is
und zwar mach ich eine registrirung und die user sind in einer db in i lese di aus und dan wil ich kontroliren ob der user der sich registrid ob der name noch nicht forhanden ist alle user der db stehen in einem array bitte um hilfe danke
mfg
mrfreak
Also wenn du wirklich (datenbanklos) ein Array durchsuchen willst, dann würde ich da mit "foreach" durchgehen und dann jeweils vergleichen..! -
jo danke für die tipps aber es kalbt zimlich gut mit is_array
wen ihr wissen wolt wie ich es ferwende :
also :
da less ich mahl alle user aus einer db aus und schreibe sie in ein array
$query=mysql_query("SELECT nick FROM user"); while($user=mysql_fetch_assoc($query)){ $nick[$user['nick']] = ucfirst($user['nick']); }
und jezt de if abfrage ob der user schon forhanden ist:
if(!in_array(ucfirst($_POST['nickname']), $nick)){ $passwort = md5($_POST['passwort']); mysql_query("INSERT INTO user (nick,pass,klicks) VALUES ('".$_POST['nickname']."', '".$passwort."', '0')"); echo '<div class="error" style="color:#FFFFFF;">Hallo '.$_POST['nickname'].' du hast dich erfolgreich registriert du kannst dich jetzt oben einlogen</div>'; }else{ echo '<div class="error">Nick bereits vorhandn<br><a href="index.php?reg=neu">Zurück</a></div>'; }
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage