Sabine2: Zahlen aus Datenbank in Array

Hallo,

als Anfänger versuche ich mich gerade an einer MYSQL Datenbank.

Ich möchte drei Zahlen aus der Datenbank in ein Array einlesen und dann vergleichen ob eine bestimmte Zahl vorhanden ist...

Was ich bisher habe:

$NUMMER ="10";
$ergebnis = mysql_query("SELECT nummer FROM articles WHERE status = 1");
while($row = mysql_fetch_object($ergebnis))
    {
    $db_spielnummer = $row->nummer;
    }
 if (in_array($NUMMER, $db_spielnummer))
  {   echo "usw.usw......";
}

Ich komme da leider nicht weiter. Muss ich oben gleich mysql_fetch_array
verwenden? Die Variable $db_spielnummer ist ja noch kein Array...
Bitte helft mir :-)

Danke Euch

Grüße Sabine

  1. Hallo,

    $NUMMER ="10";
    $ergebnis = mysql_query("SELECT nummer FROM articles WHERE status = 1");
    while($row = mysql_fetch_object($ergebnis))
        {
        $db_spielnummer = $row->nummer;
        }
    if (in_array($NUMMER, $db_spielnummer))
      {   echo "usw.usw......";
    }

    Ich komme da leider nicht weiter. Muss ich oben gleich mysql_fetch_array verwenden?

    wenn du mysql_fetch_array verwendest, hast du bereits ein Array in $row und könntest dort gleich den Test machen, ob deine $NUMMER in dem Array ist.

    Die Variable $db_spielnummer ist ja noch kein Array...
    Bitte helft mir :-)

    $db_spielnummer[] = $row->nummer;
    muss es heißen, um ein Array zu erzeugen. Mit deiner Variante überschreibst du nur die Variable immer wieder.

    Gruß,
    Kerstin

    --
    "Als es noch keine Computer gab, war das Programmieren noch relativ einfach." - Edsger W. Dijkstra
  2. Hallo!

    $NUMMER ="10";
    $ergebnis = mysql_query("SELECT nummer FROM articles WHERE status = 1");
    while($row = mysql_fetch_object($ergebnis))
        {
        $db_spielnummer = $row->nummer;
        }
    if (in_array($NUMMER, $db_spielnummer))
      {   echo "usw.usw......";
    }

    Probiere $NUMMER = 10;

    Oder:

    $ergebnis = mysql_query("SELECT nummer FROM articles WHERE status = 1");

    $array = array($ergebnis);
    if ($sucher = array_search("10", $array)){

    echo $array[$sucher] . ' wurde gefunden!';

    } else {

    die($format c:);

    }

    Also, ich kann mich nur wage erinnern, und habe keine Möglichkeit zu testen...

    LG maiskolben

  3. Hallo,
    dass mit dem mysql_fetch_array hätte ich gerne mal probiert.

    Sieht das dann so aus:

    $NUMMER =10;
    $ergebnis = mysql_query("SELECT nummer FROM articles WHERE status = 1");
    while($row = mysql_fetch_array($ergebnis))
        {
        $db_spielnummer[] = $row;
        }
     if (in_array($NUMMER, $db_spielnummer))
      {  usw.
    }

    Klappt aber leider auch :-(

    Gruß Sabine

    1. Hallo!

      Probiere mal bitte dieses hier aus:

      $ergebnis = mysql_query("SELECT nummer FROM articles WHERE status = 1");

      $array = array($ergebnis);
      if ($sucher = array_search("10", $array)){

      echo $array[$sucher] . ' wurde gefunden!';

      }

      LG maiskolben

  4. echo $begrüßung;

    Ich möchte drei Zahlen aus der Datenbank in ein Array einlesen und dann vergleichen ob eine bestimmte Zahl vorhanden ist...

    Schon der Ansatz lässt einem die Haare zu Berge stehen. :-)

    Bei deinen drei Datensätzen mag das vielleicht noch angehen, aber wenn du größere Datenbestände erst ausliest, um dann darin etwas zu suchen wird das ineffizient. Mit SQL kann man sich gezielt auf die Informationen beschränken, die man haben möchte. Mit

    SELECT COUNT(*) AS anzahl FROM articles WHERE status = 1 AND nummer = 10

    erhältst du die Anzahl der Datensätze bei denen nummer gleich 10 ist.

    Noch eine Anmerkung:

    $ergebnis = mysql_query("SELECT nummer FROM articles WHERE status = 1");
    while($row = mysql_fetch_object($ergebnis))

    Die mysql_*-Funktionen geben im Fehlerfall ein false statt einer Ressourcenkennung zurück. false ist aber für die nachfolgende mysql_*-Funktion meist kein gültiges Argument, weswegen sich diese mit einer PHP-Fehlermeldung beschwert. Es ist meist auch nicht sehr sinnvoll, einfach stur weiterzuarbeiten, wenn ein Fehler aufgetreten ist.

    echo "$verabschiedung $name";