Panelen



Forumnavigering
Senast inloggade
RSS
Sponsorer

Forum > Övriga serverspråk > PHP

Updatera mysql databasen från hemsidan.

Saamir
Saamir

Gradering

#12598

Jag behöver en lösning på mitt problem, jag vill kunna updatera mysql databasen från hemsidan.

Exempel updatera "nyheter" databas i mysql.

 

Jag har nyehter på hemsidan och trycker jag på en knapp "edit" kommer jag hit:

 

<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="news"; // Database name
$tbl_name="nyheter"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

$sql="SELECT * FROM $tbl_name";
$result=mysql_query($sql);
?>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>
<table width="400" border="1" cellspacing="0" cellpadding="3">
<tr>
<td colspan="4"><strong>List data from mysql </strong> </td>
</tr>

<tr>
<td align="center"><strong>Header</strong></td>
<td align="center"><strong>Text</strong></td>

</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td><?php echo $rows['header']; ?></td>
<td><?php echo $rows['text']; ?></td>

<td align="center"><a href="update.php?id=<?php echo $rows['id']; ?>">update</a></td>
</tr>
<?php
}
?>
</table>
</td>
</tr>
</table>
<?php
mysql_close();
?>

 

Som sen skickas till :

 

<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="news"; // Database name
$tbl_name="nyheter"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// get value of id that sent from address bar
$id=$_GET['id'];


// Retrieve data from database
$sql="SELECT * FROM $tbl_name WHERE id='$id'";
$result=mysql_query($sql);

$rows=mysql_fetch_array($result);
?>
<table width="400" border="0" cellspacing="1" cellpadding="0">
<tr>
<form name="form1" method="post" action="update_ac.php">
<td>
<table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td>&nbsp;</td>
<td colspan="3"><strong>Update data in mysql</strong> </td>
</tr>
<tr>
<td align="center">&nbsp;</td>
<td align="center">&nbsp;</td>
<td align="center">&nbsp;</td>
<td align="center">&nbsp;</td>
</tr>
<tr>
<td align="center">&nbsp;</td>
<td align="center"><strong>Header</strong></td>
<td align="center"><strong>Text</strong></td>

</tr>
<tr>
<td>&nbsp;</td>
<td align="center"><input name="lastname" type="text" id="id" value="<?php echo $rows['id']; ?>" size="15"></td>
<td align="center"><input name="name" type="text" id="header" value="<?php echo $rows['header']; ?>"></td>
<td align="center"><input name="lastname" type="text" id="text" value="<?php echo $rows['text']; ?>" size="15"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td><input name="id" type="hidden" id="id" value="<?php echo $rows['id']; ?>"></td>
<td align="center"><input type="submit" name="Submit" value="Submit"></td>
<td>&nbsp;</td>
</tr>
</table>
</td>
</form>
</tr>
</table>

<?php

// close connection
mysql_close();

?>

 

därefter skickas den till denna:

 

<?php
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="news"; // Database name
$tbl_name="nyheter"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// update data in mysql database
$sql = "UPDATE $tbl_name SET id='$id', header='$header', text='$text' WHERE id='$id'";
$result = mysql_query($sql);

// if successfully updated.
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='list_records.php'>View result</a>";
}

else {
echo "ERROR";
}

?>

 

Vad gö rjag för fel, får inget meddelande och den visar Successful, men inget händer :/

 

tack för svar.

 

ID: #12598 | Skapades: 2008-10-09 14:53:50 | Tråden har 1 svar och har lästs 587 gånger.

voigtan
voigtan

Gradering

#12600

På "andra" sidan så har du vad jag kan se två st input-element som har samma id (just id).

Vad händer med datan, töms den eller inget händer? skriv ut vad $id, $text är innan du börja köra dina SQL frågor, det kan ju vara intressant att se om du få några värden i dessa alls.

Hur man ställer en fråga: http://support.microsoft.com/kb/q555375
ID: #12600 | Skapades: 2008-10-09 15:10:16
© Copyright 2007-2009 Shadi Domat | Version 3.0 | Sidkarta | Policy