Hallo,
Ik heb een vraag over het updaten en deleten van een database.

Ik gebruik update.php met de volgende code:

<html>
<?
include("dbinfo.inc.php");
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$id=$_POST['id'];
$query="SELECT * FROM contacts WHERE id='$id'";

$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();

$i=0;
while ($i < $num) {
$id=mysql_result($result,$i,"id");
$first=mysql_result($result,$i,"first");
$last=mysql_result($result,$i,"last");
$phone=mysql_result($result,$i,"phone");
$mobile=mysql_result($result,$i,"mobile");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");

?>

<form action="updated.php" method="POST">
<input type="hidden" name="ud_id" value="<? echo "$id"; ?>">
First Name: <input type="text" name="ud_first" value="<? echo "$first"?>"><br>
Last Name: <input type="text" name="ud_last" value="<? echo "$last"?>"><br>
Phone Number: <input type="text" name="ud_phone" value="<? echo "$phone"?>"><br>
Mobile Number: <input type="text" name="ud_mobile" value="<? echo "$mobile"?>"><br>
Fax Number: <input type="text" name="ud_fax" value="<? echo "$fax"?>"><br>
E-mail Address: <input type="text" name="ud_email" value="<? echo "$email"?>"><br>
Web Address: <input type="text" name="ud_web" value="<? echo "$web"?>"><br>
<input type="Submit" value="Update">
</form>

<?
++$i;
}
?>
</html>

Daarnaast gebruik ik updated.php om de gegevens up te daten

<?
include("dbinfo.inc.php");
mysql_connect(localhost,$username,$password);
$id=$_POST['id'];
$first = $_POST['first'];
$last = $_POST['last'];
$phone = $_POST['phone'];
$mobile = $_POST['mobile'];
$fax = $_POST['fax'];
$email = $_POST['email'];
$web = $_POST['web'];
$query="UPDATE contacts SET first='$ud_first', last='$ud_last', phone='$ud_phone', mobile='$ud_mobile', fax='$ud_fax', email='$ud_email', web='$ud_web' WHERE id='$ud_id'";
@mysql_select_db($database) or die( "Unable to select database");
mysql_query($query);
echo "Record Updated";
mysql_close();
?>

Het probleem is dat ik niks te zien krijg wanneer ik update.php open. Wanneer ik in update.php de regel

$query="SELECT * FROM contacts WHERE id='$id'";

verander in:

$query="SELECT * FROM contacts WHERE id='1'";

doet ie het wel, maar laat ie natuurlijk alleen maar id 1 zien. En het updaten werkt dan ook wel. Maar ik wil graag alle id's zien.. Wat doe ik fout??
Groetjes Esther

if (isset($_POST['id']) && is_numeric($_POST['id']))
{
//code
}
Eh waar moet ik die code precies neerzetten?

if (isset($_POST['id']) && is_numeric($_POST['id']))
{
//code
}

Groetjes Esther

<?php // voor de kleur..!
if (isset($_POST['id']) && is_numeric($_POST['id']))
{
$i=0; 
while ($i < $num) { 
$id=mysql_result($result,$i,"id"); 
$first=mysql_result($result,$i,"first"); 
$last=mysql_result($result,$i,"last"); 
....de rest van je code.........
........
....
@mysql_select_db($database) or die( "Unable to select database"); 
mysql_query($query); 
echo "Record Updated"; 
mysql_close(); 
?> 
}
?> //voor de kleur..!


waarom zet je trouwens @ voor je verbindingen..?
zo hou je jezelf voor de gek..
maak er eenz van;

mysql_select_db($database) or trigger_error(mysql_error());
en
mysql_select_db($database) or trigger_error(mysql_error());

en post je errors eenz
Ik krijg geen errors.. ik krijg gewoon helemaal niks te zien..

Behalve dan wanneer ik in update.php de regel

$query="SELECT * FROM contacts WHERE id='$id'";

verander in:

$query="SELECT * FROM contacts WHERE id='1'";

Ook met jouw code lukt 't me niet... :-(

als je @mysql_select_db in je code hebt staan krijg je geen errors te zien, want die negeert php dan.

zet bovenaan je code:

error_reporting(E_ALL);

mark
maak de link naar update.php ;
sql = "je query";
rs = mysql_query($sql) or trigger_error(mysql_error());

while($row = mysql_fetch_array($rs))

<td><a href="update.php?id=<?=urlencode($row['id']);?>">update</a></td>


up je update.php pagina;

// Controleer of het id is meegegeven
if (isset($_GET['id']) && $_GET['id'] != '' )
{
   // Vraag details op van dit id
$rd = is_numeric($_GET['id']) ? $_GET['id'] : 0;

$sql = "SELECT * FROM contacts WHERE id='$rd'";

$rs = mysql_query($sql) or trigger_error(mysql_error());


en natuurlijk aan het eind van je pagina je if-lus afsluiten met een }..!

Reageren