pro Kalenderwoche neuer Datensatz

Jacky222

Grünschnabel
So Leute, ich bin ein wenig am verzweifeln und hoffe irgendwer kann mir hier helfen.


Auf meiner Seite gibts einen "Tipp der Woche". Ich hab in der Datenbank 52 Tipps drinnen, mit den IDs 1-52.
Wie mach ich dass, dass jede Woche ein neuer Datensatz reinkommt?

Bisher hab ichs so probiert:

Code:
$week = ("<p>".date("W")."</p>"); 
(<-- das gibt schon mal 47 aus, also will ich den 47. Tipp)

$SID = ("<p>".$row['TID']."</p>");
(<-- gibt 1 aus)

$query  = mysql_query("SELECT * FROM tbltipps ORDER BY TID WHERE TID=".$week,$link);
$row = mysql_fetch_array($query);

echo("<p>".$row['description']."</p>");


Ds funktioniert schon mal ned. "Undefined variable: row"
Wenn ich in $query keine $week habe, funktionierts, nur hab ich dann halt den 1. Tipp.

Ich hab auch schon If-Klauseln probiert, aber es schaut so aus, als ob ich immer irgendwas falsch mache..

Wäre wirklich sehr dankbar, wenn mir hier jemand eine Lösung geben könnte!
Lg Jackie
 
Zuletzt bearbeitet von einem Moderator:
Erstmal solltes du deinen Code entsprechend formatieren das man ihn auch lesen kann.

zum Problem:

1) $row[TID] gibt es an der Stelle doch noch gar nicht. Die Abfrage wird doch erst weiter unter ausgeführt.

2) gibt $week nicht die Zahl 47 zurück sondern "<p>47</p>" und das kannst du so nicht in der SQL Anweisung verwenden. Lösche hier also "<p>" und "</p>".

3) Ist die SQL Anweisung falsch. So sieht es besser aus

PHP:
$query = mysql_query("SELECT * FROM tbltipps WHERE TID =".$week);
 
Zuletzt bearbeitet:
PHP:
$week = ("<p>".date("W")."</p>");
# ist
$week = "<p>47</p>";
# und nicht 
$week = "47";
gleichermaßen für $SID. Damit ist die MySQL-Query schon falsch.

Wenn es eh nur einen Eintrag pro TID gibt, kannst Du Dir das
Code:
ORDER BY TID
auch sparen.

http://php.net/manual/de/function.mysql-fetch-array.php
..schau mal, ob fetch_row nicht die zielführendere Funktion ist.
PHP:
function db_result_single($result) {
    return ($row = mysql_fetch_row($result)) && isset($row[0]) ? $row[0] : false;
}

mfg chmee
 
OMG Das ist ja echt idioteneinfach! Es funktioniert! Ich habs nach tombes Erklärung gemacht, waren echt ein paar dumme Fehler, aber was solls, man lernt immer was.

Vielen vielen Dank an euch beide, dass ihr mir geholfen habt!
 
Zurück