Anfängerfrage PHP > MySQL

thommy1972

Mitglied
Hallo

Ich hänge jetzt geschlagene 3 Stunden an einem für euch bestimmt lächerlichen Problem...
Habe 2 Skripte. 1 schimpft sich wohnungsansicht.php und dort soll man irgendwann und irgendwie einige Wohnungen sehen. Jedenfalls soll neben jeder Zeile ein "Edit" Button sein was derzeit auch so ist. Nun soll folgendes passieren: Wenn man auf den Edit Button klickt soll ein Wert "refnr" von eben jener Zeile die aus eine Datenbank ausgelesen wird an das Skript "aendern.php" geschickt werden die mir wiederum die Daten aus eben jener refnr Zeile der DB zum ändern anzeigt.
Und da hängt der Hund in den Seilen :)
Wie bekomme ich aus dem Skript wohnungsansicht.php die refnr in die aendern.php ?
Nicht an dem schlampig geschriebenen Code aufhängen bin ja Anfänger :)

Hier mal die Skripte:
Code:
<?php
include ("header.php"); 
include ("connect.php");


$sql = "SELECT * FROM kunden";
$ausgabe = mysql_query($sql);
$row = mysql_fetch_array(mysql_query("SELECT * FROM kunden "));

    $titel = $_GET["titel"];
    $untertitel = $_GET["untertitel"];
    $kategorie = $_GET["kategorie"];
    $makler = $_GET["makler"];
    $ort = $_GET["ort"];
    $bezirk = $_GET["bezirk"];
    $refnr = $_GET["refnr"];
    $typ = $_GET["typ"];
    $kaltmiete = $_GET["kaltmiete"];
    $nebenkosten = $_GET["nebenkosten"];
    $warmmiete = $_GET["warmmiete"];
    $beschreibung = $_GET["beschreibung"];
    $lage = $_GET["lage"];
    $wohngesamt = $_GET["wohngesamt"];
    $grundstueck = $_GET["grundstueck"];
    $zimmer = $_GET["zimmer"];
    $badewanne = $_GET["badewanne"];
    $kueche = $_GET["kueche"];
    $bad = $_GET["bad"];
    $gastwc = $_GET["gastwc"];
    $balkon = $_GET["balkon"];
    $keller = $_GET["keller"];
    $garage = $_GET["garage"];
    $stellplatz = $_GET["stellplatz"];
    $tiefgarage = $_GET["tiefgarage"];
    $terrasse = $_GET["terrasse"];
    $dachterrasse = $_GET["dachterrasse"];
    $einbaukueche = $_GET["einbaukueche"];
    $heizung = $_GET["heizung"];
?>
<form action="aendern.php" method="post">
<?php
echo "<table align ='center'>";
echo "<tr>";


echo "<td align='left' width='40px'>";
echo "Ref-Nr: ";
echo "</td>";
echo "<td align='left' width='80px'>";
echo $row[refnr];
echo "<td>";

echo "<td align='left' width='40px'>";
echo "Titel: ";
echo "</td>";
echo "<td align='left' width='80px'>";
echo $row[titel];
echo "<td>";

echo "<td align='left' width='50px'>";
echo "Untertitel: ";
echo "</td>";
echo "<td align='left' width='80px'>";
echo $row[untertitel];
echo "</td>";

echo "<td align='left' width='50px'>";
echo "Kategorie: ";
echo "</td>";
echo "<td align='left' width='80px'>";
echo $row[kategorie];
echo "</td>";


echo "<td align='left' width='50px'>";
echo "Kaltmiete ";
echo "</td>";
echo "<td align='left' width='50px'>";
echo $row[kaltmiete];
echo "</td>";

echo "<td align='left' width='50px'>";
echo "Nebenkosten ";
echo "</td>";
echo "<td align='left' width='50px'>";
echo $row[nebenkosten];
echo "</td>";

echo "<td align='left' width='50px'>";
echo "Warmmiete ";
echo "</td>";
echo "<td align='left' width='50px'>";
echo $row[warmmiete];
echo "</td><hr>";


echo "<td align='left'>";
?>
<input type="submit" value="Edit" \>
<input type="hidden" name="refnr" value="<?php echo $row['refnr'] ?>" /> 
</form>
</td>
</tr>

Die aendern.php:

Code:
<html>
<head>
<title>Objekt ändern</title>
</head>
<body>
<?php
include ("header.php"); 
include ("connect.php");

$id = $_GET['id'];
$sql = "select * from kunden where refnr='$refnr'";

$ausgabe = mysql_query($sql);



    $titel = $_GET["titel"];
    $untertitel = $_GET["untertitel"];
    $kategorie = $_GET["kategorie"];
    $makler = $_GET["makler"];
    $ort = $_GET["ort"];
    $bezirk = $_GET["bezirk"];
    $refnr = $_GET["refnr"];
    $typ = $_GET["typ"];
    $kaltmiete = $_GET["kaltmiete"];
    $nebenkosten = $_GET["nebenkosten"];
    $warmmiete = $_GET["warmmiete"];
    $beschreibung = $_GET["beschreibung"];
    $lage = $_GET["lage"];
    $wohngesamt = $_GET["wohngesamt"];
    $grundstueck = $_GET["grundstueck"];
    $zimmer = $_GET["zimmer"];
    $badewanne = $_GET["badewanne"];
    $kueche = $_GET["kueche"];
    $bad = $_GET["bad"];
    $gastwc = $_GET["gastwc"];
    $balkon = $_GET["balkon"];
    $keller = $_GET["keller"];
    $garage = $_GET["garage"];
    $stellplatz = $_GET["stellplatz"];
    $tiefgarage = $_GET["tiefgarage"];
    $terrasse = $_GET["terrasse"];
    $dachterrasse = $_GET["dachterrasse"];
    $einbaukueche = $_GET["einbaukueche"];
    $heizung = $_GET["heizung"];

?>
<form action="wohnungansicht.php" method="post">

<table width="650" bgcolor="#C0CCCC" align="center" border="1"><tr><td>
<table align="left" bgcolor="#C0CCCC">

<!--Spalte links -->

<tr><td align="right">Titel:</td><td width="200px" align="left"><input type="text" name="titel" size="24" value="<? 

echo $row[titel]; ?>"><br></td></tr>

<tr><td width="100px" align="right">Untertitel:</td><td width="200px" align="left"><input type="text" size="20" 

name="untertitel" value="<? echo $row[untertitel]; ?>"></td></tr>

<tr><td width="100px" align="right">Kategorie:</td><td width="200px" align="left">
    <select name="kategorie" size="1">
      <option>Wohnung</option>
      <option>Haus</option>
      <option>Garage</option>
      <option>Tiefgarage</option>
      <option>Stellplatz</option>
    </select>
</td></tr>

<tr><td width="100px" align="right">Makler:</td><td width="200px" align="left"><input type="text" size="20" 

name="makler" value="<? echo $row[makler]; ?>"></td></tr>

<tr><td width="100px" align="right">Ort:</td><td width="200px" align="left"><input type="text" size="20" name="ort" 

value="<? echo $row[ort]; ?>"></td></tr>

<tr><td width="100px" align="right">Bezirk:</td><td width="200px" align="left"><input type="text" size="20" 

name="bezirk" value="<? echo $row[bezirk]; ?>"></td></tr>
<tr><td width="100px" align="right">Ref.-Nummer:</td><td width="200px" align="left"><input type="text" size="20" 

name="refnr" value="<? echo $row[refnr]; ?>"></td></tr>
<tr><td width="100px" align="right">Typ:</td><td width="200px" align="left">
    <select name="typ" size="1">
      <option>Mietobjekt</option>
      <option>Kaufobjekt</option>
    </select>
</td></tr>
<tr><td width="100px" align="right"><strong>Kaltmiete:</strong></td><td width="200px" align="left"><input 

type="text" size="20" name="kaltmiete" value="<? echo $row[kaltmiete]; ?>"></td></tr>
<tr><td width="100px" align="right"><strong>Nebenkosten:</strong></td><td width="200px" align="left"><input 

type="text" size="20" name="nebenkosten" value="<? echo $row[nebenkosten]; ?>"></td></tr>
<tr><td width="100px" align="right"><strong>Warmmiete:</strong></td><td width="200px" align="left"><input 

type="text" size="20" name="warmmiete" value="<? echo $row[warmmiete]; ?>"></td></tr>
<tr><td width="100px" align="right">Beschreibung:</td><td width="200px" align="left">
<textarea name="beschreibung" cols="25" rows="10"><? echo $row[beschreibung]; ?></textarea>
</td></tr>
<tr><td width="100px" align="right">Lage:</td><td width="200px" align="left">
<textarea name="lage" cols="25" rows="5"><? echo $row[lage]; ?></textarea>
</td></tr>
</table>


<!--Spalte rechts -->

<table align="right" bgcolor="#C0CCCC">
<tr><td align="right">Wohnfläche:</td><td width="200px" align="left"><input type="text" size="20" name="wohngesamt" 

value="<? echo $row[wohngesamt]; ?>"></td></tr>

<tr><td width="100px" align="right">Grundstück:</td><td width="200px" align="left"><input type="text" size="20" 

name="grundstueck" value="<? echo $row[grundstueck]; ?>"></td></tr>

<tr><td width="100px" align="right">Zimmer:</td><td width="200px" align="left"><input type="text" size="20" 

name="zimmer" value="<? echo $row[zimmer]; ?>"></td></tr>

<tr><td width="100px" align="right">Badewanne:</td><td width="200px" align="left">
    <select name="badewanne" size="1">
      <option value=<? echo $row[badewanne]; ?> selected></option>
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Küche:</td><td width="200px" align="left">
    <select name="kueche" size="1">
      <option value=<? echo $row[kueche]; ?> selected></option>
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Bad:</td><td width="200px" align="left">
    <select name="bad" size="1">
      <option value=<? echo $row[badewanne]; ?> selected></option>
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>

<tr><td width="100px" align="right">Gäste-WC:</td><td width="200px" align="left">
    <select name="gastwc" size="1">
      <option value=<? echo $row[gastwc]; ?> selected></option>
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Balkon:</td><td width="200px" align="left">
    <select name="balkon" size="1">
      <option value=<? echo $row[balkon]; ?> selected></option>
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Keller:</td><td width="200px" align="left">
    <select name="keller" size="1">
      <option value=<? echo $row[keller]; ?> selected></option>
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Garage:</td><td width="200px" align="left">
    <select name="garage" size="1">
      <option value=<? echo $row[garage]; ?> selected></option>
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Stellplatz:</td><td width="200px" align="left">
    <select name="stellplatz" size="1">
      <option value=<? echo $row[stellplatz]; ?> selected></option>
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Tiefgarage:</td><td width="200px" align="left">
    <select name="tiefgarage" size="1">
      <option value=<? echo $row[tiefgarage]; ?> selected></option>
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Terrasse:</td><td width="200px" align="left">
    <select name="terrasse" size="1">
      <option value=<? echo $row[terrasse]; ?> selected></option>
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr><tr><td width="100px" align="right">Dachterrasse:</td><td width="200px" align="left">
    <select name="dachterrasse" size="1">
      <option value=<? echo $row[dachterrasse]; ?> selected></option>
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Einbauküche:</td><td width="200px" align="left">
    <select name="einbaukueche" size="1">
      <option value=<? echo $row[einbaukueche]; ?> selected></option>
      <option>-</option>
      <option>Ja</option>
      <option>Nein</option>
    </select>
</td></tr>
<tr><td width="100px" align="right">Heizungsart:</td><td width="200px" align="left">
    <select name="heizung" size="1">
      <option value=<? echo $row[heizung]; ?> selected></option>
      <option>-</option>
      <option>Fernwärme</option>
      <option>Zentralheizung</option>
      <option>Elektro</option>
      <option>Nachtspeicher</option>
    </select>
</td></tr><td align="right">
<input type="submit" value="Daten ändern"/><td><input type="reset" value="löschen"/></td>
<td>

</tr>



</table>
</table>
<br>

<br>
</form>
</body>
</html>
 
Ändere einfach die beiden Zeilen

Code:
$id = $_GET['id'];
$sql = "select * from kunden where refnr='$refnr'";

in das hier um

Code:
$refnr = $_POST['refnr'];
$sql = "select * from kunden where refnr='$refnr'";

Dann sollte das funktionieren.

Gruss
tsbmusic
 
Ersetzt das hier

Code:
$id = $_GET['id'];
$sql = "select * from kunden where refnr='$refnr'";
 
$ausgabe = mysql_query($sql);

durch das hier:

Code:
$id = $_GET['id'];
$sql = mysql_query("select * from kunden where refnr='$refnr'");
 
$row = mysql_fetch_array($sql);
 
Zuletzt bearbeitet:
Ah, bei mir war gerade ein kleiner Fehler drin. Probier nochmal das hier:

Code:
$refnr = $_POST['refnr'];
$sql = mysql_query("select * from kunden where refnr='$refnr'");
 
$row = mysql_fetch_array($sql);

Wenns dann nicht funktioniert, weiß ich auch nicht mehr weiter.
 
Leider auch nicht... Also wenn ich $sql = mysql_query("select * from kunden"); teste zeigt er mir die Daten an. Frag bitte nicht wieso er die jetzt anzeigt :) Leider bin ich noch nicht so weit dass ich auf der wohnungsseite alle Datensätze angezeigt bekomme was zur folge hat daß ich dort nur einen sehe da drauf klicke und die Daten in der aendern.php angezeigt bekomme.
 
Vielleicht kannst du mir mal die beiden Dateien per PM zuschicken, dann kann ich mir das mal angucken.

Gruss
tsbmusic
 
Grüße zum Abend,

ich hab dir dein erstes Skript mal ein bisschen umgeschrieben, damit du darauf aufbauen und damit arbeiten kannst. Es wird dir bisher nur ein Eintrag angezeigt, da du keine Schleife durchlaufen lässt, welche das Array komplett ausliest (somit auch nur 1 Eintrag).
Es gab noch mehrere Unstimmigkeiten, die ich jetzt nicht alle auseinandernehmen möchte.

Hier also mal der Code:

Code:
<?php
include ("header.php"); 
include ("connect.php");
 
//URL-PARAMETER
    $titel = $_GET["titel"];
    $untertitel = $_GET["untertitel"];
    $kategorie = $_GET["kategorie"];
    $makler = $_GET["makler"];
    $ort = $_GET["ort"];
    $bezirk = $_GET["bezirk"];
    $refnr = $_GET["refnr"];
    $typ = $_GET["typ"];
    $kaltmiete = $_GET["kaltmiete"];
    $nebenkosten = $_GET["nebenkosten"];
    $warmmiete = $_GET["warmmiete"];
    $beschreibung = $_GET["beschreibung"];
    $lage = $_GET["lage"];
    $wohngesamt = $_GET["wohngesamt"];
    $grundstueck = $_GET["grundstueck"];
    $zimmer = $_GET["zimmer"];
    $badewanne = $_GET["badewanne"];
    $kueche = $_GET["kueche"];
    $bad = $_GET["bad"];
    $gastwc = $_GET["gastwc"];
    $balkon = $_GET["balkon"];
    $keller = $_GET["keller"];
    $garage = $_GET["garage"];
    $stellplatz = $_GET["stellplatz"];
    $tiefgarage = $_GET["tiefgarage"];
    $terrasse = $_GET["terrasse"];
    $dachterrasse = $_GET["dachterrasse"];
    $einbaukueche = $_GET["einbaukueche"];
    $heizung = $_GET["heizung"];
	
 
$sql = "SELECT * FROM kunden";
$ausgabe = mysql_query($sql);
	while($row = mysql_fetch_array($ausgabe)) {
 
?>
<form action="aendern.php" method="post">
<?php
echo "<table align ='center'>";
echo "<tr>";
 
 
echo "<td align='left' width='40px'>";
echo "Ref-Nr: ";
echo "</td>";
echo "<td align='left' width='80px'>";
echo "$row['refnr']";
echo "<td>";
 
echo "<td align='left' width='40px'>";
echo "Titel: ";
echo "</td>";
echo "<td align='left' width='80px'>";
echo "$row['titel']";
echo "<td>";
 
echo "<td align='left' width='50px'>";
echo "Untertitel: ";
echo "</td>";
echo "<td align='left' width='80px'>";
echo "$row['untertitel']";
echo "</td>";
 
echo "<td align='left' width='50px'>";
echo "Kategorie: ";
echo "</td>";
echo "<td align='left' width='80px'>";
echo "$row['kategorie']";
echo "</td>";
 
 
echo "<td align='left' width='50px'>";
echo "Kaltmiete ";
echo "</td>";
echo "<td align='left' width='50px'>";
echo "$row['kaltmiete']";
echo "</td>";
 
echo "<td align='left' width='50px'>";
echo "Nebenkosten ";
echo "</td>";
echo "<td align='left' width='50px'>";
echo "$row['nebenkosten']";
echo "</td>";
 
echo "<td align='left' width='50px'>";
echo "Warmmiete ";
echo "</td>";
echo "<td align='left' width='50px'>";
echo "$row['warmmiete']";
echo "</td><hr>";
 
 
echo "<td align='left' colspan='2'>";
?>
<input type="submit" value="Edit" \>
<input type="hidden" name="refnr" value="<?php echo $row['refnr'] ?>" /> 
<?php
echo"</td>";
echo"</tr>";
echo"</table>";
?>
</form>
<?php
	}
?>

für den 2. Code hat mir leider die Zeit gefehlt. (werd ich mir im Laufe der Tage mal ansehen - aber es wird sich sicherlich noch jemand finden, der dir schneller helfen kann ;))

@tsbmusic: Die Dateien stehen doch oben im Post, warum willst du sie dann per PN haben ;)

P.S. es ist vllt. nicht so sonderlich gut eine solche Masse an Daten per URL zu übermitteln, da dann irgendwann abgeriegelt wird. Du solltest das Ganze lieber auf Basis von POST lösen.

Schönen Abend noch.
 
Also in Wohnungsansicht werden (sollen) ja im Prinzip nur alle Datensätze angezeigt werden.
Hinter jedem steht dann "Edit" und es soll ja nur "refnr" an die aendern.php geschickt werden da diese Unique ist. (So mein Gedankengang)
Ich hab ja gestern noch etwas gebastelt und es werden jetzt zumindest alle Datensätze angezeigt. Allerdings kommt bei der aendern.php immernoch nichts an :(
Ich habs mal auf einen FTP gemacht damit man das sieht:

http://cs-blasius.co.de/wohnungansicht.php

Code:
<?php
include ("header.php"); 
include ("connect.php");


$sql = "SELECT * FROM kunden";
$ausgabe = mysql_query($sql);
$row = mysql_fetch_array(mysql_query("SELECT * FROM kunden "));
while($row = mysql_fetch_array($ausgabe))
  {

    $titel = $_GET["titel"];
    $untertitel = $_GET["untertitel"];
    $kategorie = $_GET["kategorie"];
    $refnr = $_GET["refnr"];
    $kaltmiete = $_GET["kaltmiete"];
    $nebenkosten = $_GET["nebenkosten"];
    $warmmiete = $_GET["warmmiete"];



?>
<form action="aendern.php" method="post">
<?php
echo "<table align ='center'>";
echo "<tr>";


echo "<td align='left' width='40px'>";
echo "Ref-Nr: ";
echo "</td>";
echo "<td align='left' width='80px'>";
echo $row[refnr];
echo "<td>";

echo "<td align='left' width='40px'>";
echo "Titel: ";
echo "</td>";
echo "<td align='left' width='80px'>";
echo $row[titel];
echo "<td>";

echo "<td align='left' width='50px'>";
echo "Untertitel: ";
echo "</td>";
echo "<td align='left' width='80px'>";
echo $row[untertitel];
echo "</td>";

echo "<td align='left' width='50px'>";
echo "Kategorie: ";
echo "</td>";
echo "<td align='left' width='80px'>";
echo $row[kategorie];
echo "</td>";


echo "<td align='left' width='50px'>";
echo "Kaltmiete ";
echo "</td>";
echo "<td align='left' width='50px'>";
echo $row[kaltmiete];
echo "</td>";

echo "<td align='left' width='50px'>";
echo "Nebenkosten ";
echo "</td>";
echo "<td align='left' width='50px'>";
echo $row[nebenkosten];
echo "</td>";

echo "<td align='left' width='50px'>";
echo "Warmmiete ";
echo "</td>";
echo "<td align='left' width='50px'>";
echo $row[warmmiete];
echo "</td><hr>";


echo "<td align='left'>";
?>
<input type="submit" name="refnr" value="Edit">

</form>
</td>
</tr>
<?php
}
?>
 
Zurück