Problem mit if Schleife und Array

Weil else eine stärkere abfrage ist als if!!

Ne möglichkeit ist nen Zugang Ok zu setzen und dann hinter der Schleife diesen zu fragen, wenn er nicht gesetzt ist dann halt auch kein Zugang.

Mohag
 
PHP:
for($i=0;$i<10;$i++) {
    if($vorschlag == $row[i]) // wenn der vorschlag genau dem inhalt des Arrays entspricht
    {
      echo "Vorschlag existiert schon^^";
    }
    else
    {
      echo "bereit zum eintragen^^";
    }
}

Wenn $vorschlag nicht zufälligerweise einmal leer ist und die Konstante () i gleichzeitig keinen Wert besitzt, dann kommt immer "bereit zum eintragen^^"

Vielleicht war der Code ganz ok, du hast aber bei der if-Abfrage (!! [Das ist keine Schleife]) einfach das Variablenzeichen vergessen

PHP:
if($vorschlag == $row[$i])

Versuchs mal :)

@Mohag
Weil else eine stärkere abfrage ist als if!!
Kannst du mir bitte kurz ausführen, was du genau damit meinst? Mir erschliesst sich der Sinn dieser Aussage nur sehr zögerlich bis gar nicht.
 
also hier ist n teil meines Codes:

bin für alles offen Hauptsache es klappt :)

aber zuerst vielleicht noch etwas zu dem Code

als erstes bestimme ich mit der sql funktion "count" die anzahl der Datensätze
danach möchte ich diese zahl in die for schleife mit einbinden und die daten in ein array speichern um diese später mit dem $vorschlag abzugleichen^^

ich hab erst überlegt das ganze über ein bool names exist zu realisieren aber ich komm einfach nicht weiter :(
PHP:
// Anzahl der Datensaetze in der Tabelle ueber die "count" funktion bestimmen

$sqlcount = "SELECT COUNT(*) as Anzahl FROM $kategorie;"; 
$count = mysql_query($sqlcount) OR die(mysql_error());
$rows = mysql_fetch_assoc($count);

echo "Anzahl der Datens&auml;tze in $kategorie: ".$rows['Anzahl']."<br />";
 
echo "Dein Vorschlag ist $vorschlag<br /><br />";

// Nachschauen ob der vorgeschlagene Begriff schon existiert

$vorhanden ="SELECT * FROM "."$kategorie;";
$anschauen = mysql_query($vorhanden);
 
while($row = mysql_fetch_assoc($anschauen)) {
        echo "|| - " .$row[$kategorie]."<br />";
        echo $row[1];
    }
  
echo $row[$kategorie];
var_dump($row[$kategorie]);
echo "<br />geht nix ?";

for($i=0;$i<$rows['Anzahl'];$i++)
  {
    if($vorschlag == $row[$i])
    {
      echo "<br />Vorschlag existiert schon^^";
      $exist = true;
      break;
      break;
    }
    else
    {
      echo "<br />bereit zum eintragen^^";
      $exist = false;
    }
  }
  
if($exist == true)
  {
    echo "<br /><br />Vorschlag nicht eintragen ^^";
  }
else 
  {
    echo "<br /><br />Vorschlag kann eingetragen werden^^";
  }
 
mysql_fetch_assoc liefert (wie der Name schon sagt) ein assoziatives Array. Ein assoziatives Array hat keine numerischen Keys.

PHP:
while($row = mysql_fetch_assoc($anschauen)) {
        echo "|| - " .$row[$kategorie]."<br />";
        echo $row[1];
}
Zumindest die zweite Zeile in der Schleife wird dir keine Ausgabe liefern. Benutze stattdessen mysql_fetch_row oder wenn du ein numerisches und ein assoziatives Array zurückgegeben haben möchtest mit mysql_fetch_array.

Das selbe gilt für
PHP:
if($vorschlag == $row[$i])

Gruss Igäl
 
Zurück