[PHP/MYSQL] BETWEEN a AND b gibt falsche Werte aus

shutdown

Erfahrenes Mitglied
Hi!

Ich habe ein Problem mit folgendem Code:

PHP:
$dayofyear = date(z);
$dayofyear2 = date(z)-100;

$daten = "SELECT Nachname, Vorname FROM `table` WHERE `dayofyear` BETWEEN '$dayofyear2' and '$dayofyear'";
$auslesen_daten = mysql_query($daten) or die("Error: " . mysql_error());
$object=mysql_fetch_array($auslesen_daten);

Syntaktisch scheint die Abfrage in Ordnung zu sein - er bringt mir zumindest keinen Fehler.

Allerdings lädt er mir jetzt nicht die Einträge runter, die (im heutigen Fall) zwischen 152 und 252 liegen, sondern nur den ersten Eintrag in der Datenbank, der allerdings die Nummer 23 hat.
Desweiteren lädt er mir dann diesen Eintrag 2mal in den Array (also in erster und 2ter Dimension) - und hört danach halt auf.

Ich habe andere Einträge in der Datenbank, die in dem geforderten Bereich liegen - z.B. 224 - aber die werden nicht übernommen.

Kann mir da jemand helfen?

Vielen Dank im Voraus.

cu shutdown


edit:

Vielleicht nützt das jemanden ja was - ist mir grad erst aufgefallen. Er lädt auch den Eintrag falsch ins Array - auf 0ter Ebene 2mal den Nachname auf 1ter Ebene 2 mal den Vorname

array(4) { [0]=> string(6) "Nname" ["Nachname"]=> string(6) "Nname" [1]=> string(6) "Vname" ["Vorname"]=> string(6) "Vname" }

(Namen ersetzt)
 
Zuletzt bearbeitet:
Ok

einen Teil des Problems konnte ich jetzt schon lösen.

Ein Fehler war, dass die Spalte die Eigenschaft char hatte und nicht int.

Jetzt nimmt er in den Array eine Person aus dem Suchbereich.

ABER:

Er nimmt immer noch NUR EINE PERSON.

Und zwar die erste, auf die der Between And- Bereich passt - d. h. die Person, die im Bereich liegt, und in der Tabelle am weitesten oben steht.

Dann hört er aber auf und übernimmt keine weiteren Personen - auf die die Abfrage auch passen würde.

Vielleicht weiß noch jemand Rat?

cu shutdown
 
Ja ich weiß - ich bin blöd :p

Das löst das Problem:
PHP:
while ($row = mysql_fetch_array($auslesen_daten, MYSQL_ASSOC))
{
echo $row['Vorname']." ".$row['Nachname']."<br>";
}

Danke trotzdem!

cu shutdown]
 
Zurück