Ankündigung

Einklappen
Keine Ankündigung bisher.

werte einer tabelle mit werten einem array vergleichen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • werte einer tabelle mit werten einem array vergleichen

    hi
    wie kann ich in einer mysql-nachfrage, werte einer tabelle mit werten einem array vergleichen : z.B:

    tabelle $table[o] und array $mein_array

    beispiel:

    $view_res = $db->sql_query("SELECT * FROM $table[o] WHERE name = '$mein_array');

    while($view_row = $db->sql_fetch_array($view_res))
    {.... do something



    // $mein_array enthält folgende daten
    foreach ($mein_array as $name) {
    echo "$name
    "; }

    ergibt z.B.
    user1
    user2
    user3


  • #2
    hmm wie wärs denn mit codetags oben unter titel isn button da steht code drauf wenn man sein queltext damit umgibt kann man den auch brauchbar lesen:


    Code:
    <?php
    $mein_array = array('name1','name2','name3');
    $temp = "name='";
    $separator = "' OR name='";
    foreach ($mein_array as $key=>$value)
    	$temp .= $value . $separator;
    $temp = substr($temp,0,strlen($temp)-strlen($separator));
    $view_res = "SELECT * FROM " . $table['o'] . " WHERE " .$temp . ";";
    echo $view_res;
    ?>
    und hier die erklärung du willst mit deinem select all jene zeilen ansprechen in denen einer der namen von mein_array vorkommt. das beudet du brauchst eine oder verknüpfung.
    jetzt muss man eben entsprechend einen string aus dem array bauen welcher sämtliche oder-bedingungen beinhaltet.

    gemein an der sache ist, dass in obigen script eben einmal zu oft der seperator angehängt wird, deshalb muss man ihn dann wieder mit substring abschneiden.

    und weil mir grade noch ne variante eingefallen is beim erklären der obigen:
    Code:
    <?php
    $mein_array = array('name1','name2','name3');
    foreach ($mein_array as $key=>$value)
    	if ($key < (count($mein_array)-1))
    		$temp .= "name='" . $value . "' OR ";
    	else $temp .= "name='" . $value . "' ";
    $temp = substr($temp,0,strlen($temp)-strlen($separator));
    $view_res = "SELECT * FROM " . $table['o'] . " WHERE " . $temp . ";";
    echo $view_res ;
    ?>
    funktioniert sehr ähnlich aber den unterschied musst selbst finden
    mfg Floh

    Programmers don't die, they GOSUB without RETURN

    Kommentar

    Lädt...
    X