Ändern der MYSQL-Einträge?!

  • Themenstarter Themenstarter freakassault
  • Beginndatum Beginndatum
F

freakassault

Hallo Leutz,

ich stecke einfach abnormal fest. Ich weiß nicht was los ist.

Erstmal die Ausgangssituation.

ich habe eine bn_loeschen.php, in der die Tabelle ausgelesen wird und zudem die Funktion LÖSCHEN besteht.

Zudem ist die BEARBEITEN FUNTION auch dabei. Die Ergebnisse werden aufgelistet und der BEARBEITEN LINK "sendet" diese an die bn_aendern. Dort werden sie mir auch noch ausgegeben. Jetzt will ich einfach, dass nur eine VARIABLE, nämlich die ID weiterübergeben wird an die bn_aendernconfirm.php.

Hier der Code von der bn_loeschen.php
PHP:
<?php 
include("dbconnect.php"); 
  $abfrage = "SELECT id, kennzeichen, datum, tag, beschreibung, link FROM bildernews ORDER BY id DESC LIMIT 5"; 
  $ergebnis = mysql_query($abfrage); 
  while($row = mysql_fetch_object($ergebnis)) 
    { 
         echo "<tr> 
	 <td width='100' align='center'><a href=bn_aendern.php?aendern=$row->id&kennzeichen=$row->kennzeichen&datum=$row->datum&tag=$row->tag&beschreibung=$row->beschreibung&link=$row->link target='mainFrame'>BEARBEITEN</a>
	 </td>
     <td width='100' align='center'><a href=bn_loeschenconfirm?loesch=$row->id target='mainFrame'>LÖSCHEN</a>
	 </td>
	 <td width='100' align='center'>".smilie_replace($row->kennzeichen)."
	 </td> 
     <td width='80' align='right'>$row->datum 
     </td> 
     <td width='70' align='center'>$row->tag 
     </td> 
     <td width='300' align='center'><a href='$row->link' target='mainFrame'>$row->beschreibung</a><br> 
     </td> 
   </tr>"; 
} 
?>

So und nun gehen die Variablen zur bn_aendern.php
Hier habe ich mir erstmal die variablen ausgeben lassen, damit ich sehe, ob sie überhaupt ankommen:

PHP:
<?php 
include ("dbconnect.php"); 
  echo "ID: $aendern";
  echo "<br>";
  echo "Kennzeichen: ", $HTTP_GET_VARS["kennzeichen"];
  echo "<br>";
  echo "Datum: ", $HTTP_GET_VARS["datum"];
  echo "<br>";
  echo "Tag: ", $HTTP_GET_VARS["tag"];
  echo "<br>";
  echo "Beschreibung: ", $HTTP_GET_VARS["beschreibung"];
  echo "<br>";
  echo "Link: ", $HTTP_GET_VARS["link"];

echo "  
<form name='form1' method='post' action='bn_aendernconfirm.php?id=$aendern>
  <div align='center'>Besondere Kennzeichung des Events:<br>
    <select name='kennzeichnung'>
      <option value='New' selected>New</option>
      <option value='Top'>Top</option>
      <option value='Hot'>Hot</option>
      <option value='Extreme'>Extreme</option>
    </select> 
    <br>
  Datum des Events: <br>
  <input name='datum' type='text'>
  <br>
  Wochentag:<br>
  <select name='wochentag'>
      <option value='Montag'>Montag</option>
      <option value='Dienstag'>Dienstag</option>
      <option value='Mittwoch'>Mittwoch</option>
      <option value='Donnerstag'>Donnerstag</option>
      <option value='Freitag '>Freitag</option>
      <option value='Samstag'>Samstag</option>
      <option value='Sonntag'>Sonntag</option>
  </select>
  <br>
  Beschreibung:<br>
  <input name='beschreibung' type='text' id='beschreibung' size='80' maxlength='255'>
  <br>
  Link zu den Bildern:<br>
  <input name='link' type='text' id='link' size='80'>
  <br>
    <input type='submit' name='Submit' value='Senden'>
  </div>
</form>"
?>

So und nun müssten die NEUEN Varriablen ja angekommen sein bei der bn_aendernconfirm.php. Sind sie aber nicht.
PHP:
  <?php 
include ("dbconnect.php"); 
  $kennzeichen = $HTTP_POST_VARS["kennzeichen"];
  $datum = $HTTP_POST_VARS["datum"];
  $tag = $HTTP_POST_VARS["tag"];
  $beschreibung = $HTTP_POST_VARS["beschreibung"];
  $link = $HTTP_POST_VARS["link"];
  $id = $HTTP_POST_VARS["id"];
  echo "ID: $aendern";
  echo "<br>";
  echo "$kennzeichen";
  echo "Datum: ", $HTTP_GET_VARS["datum"];
  echo "<br>";
  echo "Tag: ", $HTTP_GET_VARS["tag"];
  echo "<br>";
  echo "Beschreibung: ", $HTTP_GET_VARS["beschreibung"];
  echo "<br>";
  echo "Link: ", $HTTP_GET_VARS["link"];
  ?>


Bitte helft mir, ich hab schon ewig rumgesucht und bin einfach nicht weiter gekommen. Vielleicht weiß ja einer von euch hilfe. Ich würde mich sehr freuen.

Achja, ansehen kann man sichs unter folgendem Link


Freakassault
 
Du müsstest vllt. in deiner bn_andern.php die Werte ins Formular
eintragen ...

Desweiteren weist du den normalen (?) Variablen POST Werte
zu aber gibts beim echo GET Werte aus ... weird! (in der
bn_aendernconfirm.php)
 
Zuletzt bearbeitet:
ich habe das schon probiert, aber das geht nicht. der übergibt mir net die werte.

Bye,

Freak
 
Also folgender Denkansatz hast du.

Du möchtest Daten aus der DB auslesen, diese anzeigen und evtl. bei löschen oder ändern wiederum die bereits ausgelesenen Daten an die nächste Seite weiter geben.

Wenn dem so ist, dann musst du entweder den html-tag

<input type=\"hidden\" name=\"ID\" value=\"$\">

in deinen jeweiligen form-tag einbinden oder du liest sie einmal aus und machst es per session oder array oder datei.

Der Fehler liegt daran, das die ID nicht an die dritte Seite übergeben wird. Wenn du also in der ersten Datei ein

$id = $row->id;

<input type=\"hidden\" name=\"ID\" value=\"$id\">

einbindest, kannst du beim senden zur zweiten Seite die ID wieder auslesen. Damit nun die ID erneut übergeben werden kann an Seite drei, muss genau das gleiche folgen nur mit dem unterschied wie folgt:

<input type=\"hidden\" name=\"ID\" value=\"$ID\">

oder du hängst die ID an die URL dran, sofern du keinen form-tag verwenden möchtest.

ok?
 
buff, ich werds mal probieren, dir zu folgen, auf jeden Fall danke für die hilfe.
 
also ich habe das jetzt probiert, aber ich bekomms einfach net auf die reihe.

Ich kapiers einfach nicht...

bitte bitte helft mir nochmal,

Bye,

Freak
 
Beispiel:

PHP:
<?php

$con = "SELECT * FROM tabelle";
$dat = mysql_query($con, $sql);
$e = mysql_fetch_object($dat);

$id = $e->id;

// Du kannst auch gerne wenn die Daten angezeigt werden mysql_fetch_assoc oder ..._array() verwenden ;)

?>

Mit der obigen DB-Abfrage holst du also die Daten und lässt diese anzeigen. Irgendwo in deinem HTML-Tag befindet sich der Link für die nächste Seite. An diesen Link welche ich nun wie folgt nenne:

PHP:
<?php
echo "<a href=\"seite2.php?id=$id\">Daten ändern</a>";
?>

hängst du einfach ein ? und eine Bezeichnung nach deiner Wahl und dann ein = und dann die Variable $id aus der DB-Abfrage (sofern du einen Datensatz in der Ausgabe haben möchtest).

Klickst du nun auf die nächste Seite, lässt du einfach eine erneute DB-Abfrage starten und hängst in die WHERE Bedingung folgenden Zusatz:

..... WHERE id = '$id'.....

Dadurch holst du den Datensatz neu oder kannst ihn bei DELETE direkt löschen lassen.

Jetzt besser vestanden?

Übrigens, hast du das bereits in deinem ersten Posting schon in einer while enthalten ;) Versteh nicht, wo dein Problem eigentl. ist oder ich versteh nicht was du genau möchtest.
 
Zuletzt bearbeitet:
Zurück