Gå til innhold

Anbefalte innlegg

Jeg føler meg litt dum og masete nå, men igjen har jeg problemer med databasen min.

Denne gangen skal jeg redigere en linje i databasen min.

(skriptet mitt kan dere se her: http://www.miniavisa.com?side=tabelledit)

 

Men som dere kanskje ser, så får jeg ikke endret noe som helst.

Jeg kommer rett tilbake til editsiden.

 

Skriptet ser slik ut:

<form action="<? echo $PHP_SELF ?>" method="post">
<?
mysql_pconnect("localhost","*BRUKER","PASSORD"); //enter name and password
mysql_select_db("DATABASE"); //select the database
if(!$cmd)
{
$result = mysql_query("select * from tippeliga04"); //replace news with your table name
while($r=mysql_fetch_array($result))
{	
 $id=$r["id"];
 $lag=$r["lag"];
 $s=$r["s"];
 $v=$r["v"];
 $u=$r["u"];
 $t=$r["t"];
 $p=$r["p"];
?>
<INPUT TYPE="RADIO" NAME="id" VALUE="<?php echo $id;?>"><? echo $id;?> <? echo $lag ?><br>
<? } ?>
<input type="submit" name="cmd" value="edit"></form>
<? } ?>

<?
if($cmd=="edit")
{
if (!$submit)
{
 	$sql = "SELECT * FROM tippeliga04 WHERE id=$id";
 //replace news with your table name above
 	$result = mysql_query($sql);        
 	$myrow = mysql_fetch_array($result);
?>
<input type=hidden name="id" value="<?php echo $myrow["id"] ?>">
Lag:<INPUT TYPE="TEXT" NAME="lag" VALUE="<?php echo $myrow["lag"] ?>" SIZE=30><br>
Spilt:<INPUT TYPE="TEXT" NAME="s" VALUE="<?php echo $myrow["s"] ?>" SIZE=30><br>
Vunnet:<INPUT TYPE="TEXT" NAME="v" VALUE="<?php echo $myrow["v"] ?>" SIZE=30><br>
Uavgjort:<INPUT TYPE="TEXT" NAME="u" VALUE="<?php echo $myrow["u"] ?>" SIZE=30><br>
Tapt:<INPUT TYPE="TEXT" NAME="t" VALUE="<?php echo $myrow["t"] ?>" SIZE=30><br>
Poeng:<INPUT TYPE="TEXT" NAME="p" VALUE="<?php echo $myrow["p"] ?>" SIZE=30><br>
<input type="hidden" name="cmd" value="edit">
<input type="Submit" name="submit" value="Post Comment">
</form>
<? } ?>

<?
if($submit)
{
 	$sql = "UPDATE tippeliga04 SET lag=\'$lag\',s=\'$s\',v=\'$v\',u=\'$u\',t=\'$t\',p=\'$p\' WHERE id=$id";
 //replace news with your table name above
 	$result = mysql_query($sql);
 	echo "Thank you! Information updated.";
}
}
?>

Endret av Sonymann
Lenke til kommentar
Videoannonse
Annonse

Hvorfor har du alle disse \ slashene dine i update queryen din?

 

"UPDATE tippeliga04 SET lag=\'$lag\',s=\'$s\',v=\'$v\',u=\'$u\',t=\'$t\',p=\'$p\' WHERE id=$id";

 

Trodde det skulle v're noe slikt jeg:

 

"UPDATE tippeliga04 SET lag='$lag',s='$s',v='$v',u='$u',t='$t',p='$p' WHERE id=$id";

 

:dontgetit:

 

Prøv å legge inn en echo text for å se om det er noen varable som mangler verdier etc..

 

if($cmd=="edit")

{

echo"foran submit : $submit";

if (!$submit)

{

echo "etter submit...";

 

 

elns

Lenke til kommentar

Jeg har samme problemet, og jeg tror det er fordi sida inkluderes slik,

så går den bare tilbake til index sida siden det er fortsatt den sida som du er på.

Bare at det er brukt 'get' for å inkludere det andre.

Tror problemet løser seg hvis du sender det videre til en annen side.

Lenke til kommentar

Svendsen, ditt skript fungerer utrolig bra.

Men det er en ting jeg ikke får til.

Uansett hva jeg skriver, får jeg til slutt at alle felter må fylles ut.

Det ser ut som om infoen har forsvunent et sted.

 

tabelledit2.php:

<?php

//hente id på nyhet som skal redigeres fra url
$id=$_GET["id"];

//hente ut info du vil rediger fra db
$query="SELECT * FROM tippeliga04 WHERE id = '$id'";
$result= mysql_query($query, $connection) or die
("Could not execute query : $query." . mysql_error());

$tippeliga=mysql_fetch_array($result);
$id="$tippeliga[id]";
$lag="$tippeliga[lag]";
$s="$tippeliga[s]";
$v="$tippeliga[v]";
$u="$tippeliga[u]";
$t="$tippeliga[t]";
$p="$tippeliga[p]";

//her kommer formen vi vil ha innholdet i variablene i, vi går og ut av php taggen.
?>

<form action="index.php?side=tabelledit3" method="post" name="edit" id="edit">
Lag:<br>
<h3><? echo $lag; ?></h3><br>
<table width="400" border="0" cellspacing="0" cellpadding="1">
 <tr>
   <td>Spilt:</td>
   <td><input name="s" type="text" id="s" value="<? echo $s; ?>" size="30"></td>
 </tr>
 <tr>
   <td>Vunnet:</td>
   <td><input name="v" type="text" id="v2" value="<? echo $v; ?>" size="30"></td>
 </tr>
 <tr>
   <td>Uavgjort:</td>
   <td><input name="u" type="text" id="u2" value="<? echo $u; ?>" size="30"></td>
 </tr>
 <tr>
   <td>Tapt:</td>
   <td><input name="t" type="text" id="t2" value="<? echo $t; ?>" size="30"></td>
 </tr>
 <tr>
   <td>Poeng:</td>
   <td><input name="p" type="text" id="p2" value="<? echo $p; ?>" size="30"></td>
 </tr>
</table>
<input name="id" type="hidden" id="id" value="<? echo $id; ?>">
<br>
<input type="submit" name="Submit" value="Submit">
<input name="reset" type="reset" id="reset" value="reset">
</form>

 

tabelledit3.php:

<?php

//henter de verdier som blir sendt med form. Name gir navnet innholdet blir sendt under.

$id=$_POST["id"];
$lag=$_POST["lag"];
$s=$_POST["s"];
$v=$_POST["v"];
$u=$_POST["u"];
$t=$_POST["t"];
$p=$_POST["p"];

//Vi bestemmer at alle felter må være utfylt, og sjekker om de er tomme. || betyr or (eller)
if ($lag == "" || $s == "" || $v == "" || $u == "" || $t == "" || $p == "") {
echo "Du må fylle ut alle felter, trykk tilbake";
}
else {
//her skjer det ting om alle er fylt ut.
$query="UPDATE tippeliga04 SET s='$s', v='$v', u='$u', t='$t', p='$p' WHERE id='$id'";
$result= mysql_query($query, $connection) or die
("Could not execute query : $query." . mysql_error());

echo "Din nyhet har blitt oppdatert";
}

?>

 

Jeg har her fjernet innloggingsinfoen.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...