Avatar billede atra Nybegynder
02. marts 2009 - 20:34 Der er 10 kommentarer og
1 løsning

Hjælp til at opdatere mysql med php

Vi har siddet og leget lidt med at få følgende til at virke. Men når man bruger det får vi ingen fejl med den opdater heller ikke. Er der nogen der kan se problemet på nedenstående kode, jeg har fundet den på phpeasystep.com


<strong>Update multiple rows in mysql</strong><br>

<?php
$host="Localhost"; // Host name
$username="xxxx"; // Mysql username
$password="xxxxx"; // Mysql password
$db_name="xxxxxx"; // Database name 
$tbl_name="xxxxxx"; // Table name

// Connect to server and select databse.
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);

// Count table rows
$count=mysql_num_rows($result);
?>
<table width="500" border="0" cellspacing="1" cellpadding="0">
<form name="form1" method="post" action="">
<tr>
<td>
<table width="500" border="0" cellspacing="1" cellpadding="0">


<tr>
<td align="center"><strong>Id</strong></td>
<td align="center"><strong>Name</strong></td>
<td align="center"><strong>Lastname</strong></td>
<td align="center"><strong>Email</strong></td>
</tr>
<?php
while($rows=mysql_fetch_array($result)){
?>
<tr>
<td align="center"><? $id[]=$rows['id']; ?><? echo $rows['id']; ?></td>
<td align="center"><input name="name[]" type="text" id="name" value="<? echo $rows['name']; ?>"></td>
<td align="center"><input name="lastname[]" type="text" id="lastname" value="<? echo $rows['lastname']; ?>"></td>
<td align="center"><input name="email[]" type="text" id="email" value="<? echo $rows['email']; ?>"></td>
</tr>
<?php
}
?>
<tr>
<td colspan="4" align="center"><input type="submit" name="Submit" value="Submit"></td>
</tr>
</table>
</td>
</tr>
</form>
</table>
<?php
// Check if button name "Submit" is active, do this
if($Submit){
for($i=0;$i<$count;$i++){
$sql1="UPDATE $tbl_name SET name='$name[$i]', lastname='$lastname[$i]', email='$email[$i]' WHERE id='$id[$i]'";
$result1=mysql_query($sql1);
}
}

if($result1){
header("location:update_multiple.php");
}
mysql_close();
?>
Avatar billede arne_v Ekspert
02. marts 2009 - 20:42 #1
Prøv og udskriv $sql1 og se hvilken værdi den har.
Avatar billede arne_v Ekspert
02. marts 2009 - 20:42 #2
PS:

if($result1){
header("location:update_multiple.php");
}

efter at have outputtet en masse HTML går nok ikke.
Avatar billede atra Nybegynder
02. marts 2009 - 21:05 #3
Det lykkes mig ikke rigtigt at få den til at udskrive det... er max noob til php :-/
Avatar billede arne_v Ekspert
03. marts 2009 - 03:57 #4
echo $sql1;
Avatar billede atra Nybegynder
03. marts 2009 - 08:35 #5
den fandt jeg ud af med det udskrives ingenting
Avatar billede majbom Novice
03. marts 2009 - 09:28 #6
og $count er større end 0?
Avatar billede arne_v Ekspert
03. marts 2009 - 15:11 #7
Det kan den vist naesten ikke vaere.

Og det forklarer jo hvorfor der ikke bliver opdateret noget.
Avatar billede majbom Novice
03. marts 2009 - 16:01 #8
-> #7 - nemlig det jeg tænkte :)
Avatar billede atra Nybegynder
05. marts 2009 - 19:41 #9
hvordan kan jeg løse det hvis det skal virke ?
Avatar billede majbom Novice
05. marts 2009 - 19:48 #10
har du prøvet at udskrive count og se om den er større end 0, hvilket jeg ikke tror den er?
Avatar billede atra Nybegynder
08. marts 2009 - 12:05 #11
Lukker den da jeg fandt anden løsning.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester