Seite 4 von 4

Verfasst: 11.05.2007, 13:38
von max_power
Hast du es mal mit

id='$_GET[newsid]'

versucht? :)

Verfasst: 11.05.2007, 14:08
von Fightmeyer
Hab ich auch schon versucht. MIt folgendem Ergebnis:

Update nachrichten set ueberschrift='Eine News von heute_editiert', nachricht='Das ist ein Test und so weiter und so fort...editiert' where id='11'


Hat aber den Eintrag in der Datenbank auch nicht geupdated.

Verfasst: 11.05.2007, 17:24
von max_power
Und wenn du die Array-Zeiger jeweils auch in Anführungsstriche setzt?
Also:
id='$_GET['newsid']'
Wobei du dann vermutlich id='".$_GET['newsid']."' usw. draus machen musst.

Ach ne, ist quatsch, du hast ja angegeben, was ausgegeben wird...

Also bei mir hat:

Code: Alles auswählen

  $sql = "UPDATE ausgaben_ausgaben SET caption='".parsePost($caption)."', content='".parsePost($content, 1)."', user='$ausgaben', date='$tmpDate', betrag='$betrag' WHERE id='$postenId';";
  $res = mysql_query($sql, $conn);
eigentlich immer geklappt und ich kann bei dir jetzt auch keinen Unterschied sehen. (Hab da zwei Webseiten zusammengemixt, darum das dt./eng.) Den Unterstrich sollte man ja normalerweise in die DB schreiben können!?

Verfasst: 12.05.2007, 05:59
von Persisteus
Update nachrichten set ueberschrift='Eine News von heute_editiert', nachricht='Das ist ein Test und so weiter und so fort...editiert' where id=11

Hat aber den Eintrag in der Datenbank auch nicht geupdated.
Soweit ich sehe, ist der SQL-Befehl von der Logik her korrekt. Du musst dich wohl irgendwo verschrieben haben, oder einen Tabelleneintrag mit der id 11 gibt es nicht. Eine andere Möglichkeit wäre, dass z.B. der Text nicht in ein Tabellenfeld passt.

Du solltest dir unbedingt angewöhnen, in solchen Fällen zum Testen die Funktion mysql_error zu benutzen, das erspart das Rumgerate.

Verfasst: 14.05.2007, 11:21
von Fightmeyer
Ein Feldname war falsch. Jetzt funzt es.

Und schon wieder ne neue Frage...


Ich lasse mir alle News in einer Liste anzeigen und daneben dynamisch checkboxen erstellen. Also wenn ich 20 News habe, erstellt er automatisch auch 20 Checkboxen. Klappt wunderbar.
Nun hakelt man die Checkboxen an, bei denen man die news löschen will. Also zum Beispiel News 7 und News 12.

Code: Alles auswählen

echo "<td><input type=\"checkbox\" name=\"entfern[]\"></td>";
Anshcließend klickt man auf einen löschen button und es wird folgender code ausgeführt.

Code: Alles auswählen

		$counter=0;
		while ($row = mysql_fetch_row($result))
		{	
			if ($entfern[$counter])
			{
				//echo "DELETE FROM nachrichten WHERE id = '$row[0]'";
				mysql_query("DELETE FROM nachrichten WHERE id = '$row[0]'");
			}
			$counter++;
		}
Das Problem dabei ist, daß anscheinend nur die ausgewählten Checkboxen in das Array eingetragen wurden.
Das hat zur Folge, daß ich zwar 20 News habe, aber nur zwei Checkboxeneinträge und somit meine Zuordnung Checkbox->News nicht mehr hinhauen kann und ich immer die ersten news raushaue.
Gibt es ne Möglichkeit, auch die nicht ausgewählten Checkboxen mit in das array einzutragen?

EDIT: Hat sich erledigt. Hatte gerade die Erläuchtung und übergeb in der Checkbox Value jetzt einfach den Index mit. Das dampft dann letztendlich auch den Code bei der Prüfung nochmal ordentlich ein.



EDIT2:
Gibt es einen PHP Befehl, mit dem ich gezielt einen bestimmten Datensatz aus meiner "Result-Menge" aufrufen kann.

So was wie:

$datensatz=befehl_den_ich_nicht_kenne($result,12)

Verfasst: 14.05.2007, 18:53
von Persisteus

Verfasst: 14.05.2007, 19:10
von Fightmeyer
Danköö!