kostenloser Webspace werbefrei: lima-city


if abfrage für array

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    m*****k

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. Autor dieses Themas

    m*****k

    danke hab es schon mit is_array geschaft aber danke für den tipp
  5. 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...
  6. g*****e

    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
  7. 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..!
  8. Ist aber sehr viel code oder nicht alle Vergleiche?
    Muss es denn ein array sein kannst du einen anderen datentyp nutzen?
  9. Autor dieses Themas

    m*****k

    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>'; }
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!