Avatar billede heden Nybegynder
30. september 2005 - 08:42 Der er 8 kommentarer

hjælp til rettelse i mysql.

hej eksperter.

jeg har følgende kode:

            <?php
if(isset($_POST['op']))
    {
include 'db.php';
    $id = $_POST['id'];
    $spg_id = $_POST['id'];
    $svar = htmlspecialchars(addslashes($_POST['svar']));
    $spg = htmlspecialchars(addslashes($_POST['spg']));
    $spg_id = mysql_escape_string($_POST['spg_id']);
    foreach($_POST['svar'] as $svar)
    {
$query = mysql_query("UPDATE spg_svar SET svar='$svar', spg_id='$spg_id' WHERE id='". $_GET["id"] ."'") or die(mysql_error());
$query2 = mysql_query("UPDATE spg_spg SET spg='$spg' WHERE id='". $_GET["id"] ."'") or die(mysql_error());
echo "<div align=\"center\" class=\"tekst_linkThin\">Spørgsmålet blev oprettet</div>";
    }
    }
?>
<?
        require "db.php"; 
$query = mysql_query ("SELECT * FROM spg_spg WHERE id='". $_GET["id"] ."'") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
$spg = $row['spg'];
$id = $row['id'];
echo     "<form name=\"rediger\" method=\"post\" action=\"redi_spg.php?id=$id\">
            <table width=\"100%\" height=\"1%\"  border=\"0\">
  <tr><td width=\"20%\" height=\"26\" valign=\"middle\">
<div align=\"left\" class=\"style2\">Sp&oslash;rgsm&aring;let:</div></td>
      <td width=\"80%\" valign=\"middle\">
        <textarea name=\"spg\" cols=\"50\">$spg</textarea>
      </td>
  </tr>";
$query = mysql_query("SELECT * FROM `spg_svar` WHERE spg_id='". $_GET["id"] ."'") or die (mysql_error());
while($vis = mysql_fetch_array($query)) {
$svar = $vis['svar'];
echo  "<tr><td height=\"26\" valign=\"middle\" class=\"style2\">Svar X: </td>
    <td valign=\"middle\">
<input name=\"svar[]\" type=\"text\" size=\"50\" value=\"$svar\"></td></tr>
  <tr>
    <td height=\"26\" colspan=\"2\" valign=\"top\"><div align=\"center\">
        <input type=\"hidden\" name=\"spg_id\" value=\"$id\"></div></td>
    </tr>";
    }
    }
    ?>
  <tr>
    <td height="26" colspan="2" valign="top"><div align="center">
      <input name="op" type="submit" id="op" value="Rediger spørgsmål">
    </div></td>
  </tr>
    </table>
    </form>

Problemet er at den kun gider at ligge det op som står i feltet "spg" og ikke hvad der står i "svar[]"

er det noget i kan hjælpe mig med?
Avatar billede jakobdo Ekspert
30. september 2005 - 09:39 #1
Prøv at ret din opdatering til:

if(isset($_POST['op']))
{
    include 'db.php';
    $id = $_POST['id'];
    $spg_id = $_POST['id'];
    $svar = htmlspecialchars(addslashes($_POST['svar']));
    $spg = htmlspecialchars(addslashes($_POST['spg']));
    $spg_id = mysql_escape_string($_POST['spg_id']);
    foreach($_POST['svar'] as $svar)
    {
        $query = mysql_query("UPDATE spg_svar SET svar='$svar', spg_id='$spg_id' WHERE id='". $_GET["id"] ."'") or die(mysql_error());
        if(myqsl_affected_rows()==0)
        {
            echo "Der er en fejl: " . mysql_error() . "<hr>";
            exit();
        }
           
        $query2 = mysql_query("UPDATE spg_spg SET spg='$spg' WHERE id='". $_GET["id"] ."'") or die(mysql_error());
        if(myqsl_affected_rows()==0)
        {
            echo "Der er en fejl: " . mysql_error() . "<hr>";
            exit();
        }
        echo "<div align=\"center\" class=\"tekst_linkThin\">Spørgsmålet blev oprettet</div>";
    }
}
?>
Avatar billede heden Nybegynder
30. september 2005 - 09:45 #2
så skriver den:

Fatal error: Call to undefined function: myqsl_affected_rows()

på linje 79 som er :
        if(myqsl_affected_rows()==0)
Avatar billede jakobdo Ekspert
30. september 2005 - 10:01 #3
mysql_affected_rows()
Bemærk forskel på QS og SQ
Avatar billede heden Nybegynder
30. september 2005 - 10:31 #4
ja det var godt set, og det fjernede også fejlen, men den skriver nu:

Der er en fejl:

og så skriver den ik mere.
Avatar billede jakobdo Ekspert
30. september 2005 - 10:36 #5
Er dine felter evt tomme?
Prøv at brug løsningen jeg gav dig før:
echo "<pre>";
print_r($_POST);
echo "</pre>";
exit();
Avatar billede heden Nybegynder
30. september 2005 - 10:43 #6
okay, jeg har lagt den ind sådan her:

            <?php
if(isset($_POST['op']))
{
    include 'db.php';
    $id = $_POST['id'];
    $spg_id = $_POST['id'];
    $svar = htmlspecialchars(addslashes($_POST['svar']));
    $spg = htmlspecialchars(addslashes($_POST['spg']));
    $spg_id = mysql_escape_string($_POST['spg_id']);
    foreach($_POST['svar'] as $svar)
    {
        $query = mysql_query("UPDATE spg_svar SET svar='$svar', spg_id='$spg_id' WHERE spg_id='". $_GET["id"] ."'") or die(mysql_error());
        if(mysql_affected_rows()==0)
        {
            echo "Der er en fejl: " . mysql_error() . "<hr>";
          echo "<pre>";
print_r($_POST);
echo "</pre>";
exit();
        }
           
        $query2 = mysql_query("UPDATE spg_spg SET spg='$spg' WHERE id='". $_GET["id"] ."'") or die(mysql_error());
        if(mysql_affected_rows()==0)
        {
            echo "Der er en fejl: " . mysql_error() . "<hr>";
echo "<pre>";
print_r($_POST);
echo "</pre>";
exit();
        }
        echo "<div align=\"center\" class=\"tekst_linkThin\">Spørgsmålet blev oprettet</div>";
    }
}
?>


og der skriver den:

Array
(
    [spg] => test 1
    [svar] => Array
        (
            [0] => 1-1
            [1] => 2-2
        )

    [spg_id] => 11
    [op] => Rediger spørgsmål
)




men læg mærke til at jeg har ændret:

        $query = mysql_query("UPDATE spg_svar SET svar='$svar', spg_id='$spg_id' WHERE id='". $_GET["id"] ."'") or die(mysql_error());

til

        $query = mysql_query("UPDATE spg_svar SET svar='$svar', spg_id='$spg_id' WHERE spg_id='". $_GET["id"] ."'") or die(mysql_error());

åltså id='". $_GET["id"] til spg_id='". $_GET["id"]

og der vil den gerne ligge noget ind i den, men det er hvad der er i det sidste felt.

du kan se her:
http://casper1.wi2.ots.dk/spg/admin/redi_spg.php
kode og bruger:
test
Avatar billede heden Nybegynder
30. september 2005 - 10:45 #7
og den retter fint i feltet "spg"
Avatar billede heden Nybegynder
07. oktober 2005 - 10:26 #8
<?php
if(isset($_POST['op']))
{
    include 'db.php';
    $id = $_POST['id'];
    $spg_id = $_POST['id'];
    $svar = htmlspecialchars(addslashes($_POST['svar']));
    $spg = htmlspecialchars(addslashes($_POST['spg']));
    $spg_id = mysql_escape_string($_POST['spg_id']);
    foreach($_POST['svar'] as $svar)
    {
        $query = mysql_query("UPDATE spg_svar SET svar='$svar', spg_id='$spg_id' WHERE spg_id='". $_GET["id"] ."'") or die(mysql_error());
        if(mysql_affected_rows()==0)
        {
            echo "Der er en fejl: " . mysql_error() . "<hr>";
          echo "<pre>";
print_r($_POST);
echo "</pre>";
exit();
        }
           
        $query2 = mysql_query("UPDATE spg_spg SET spg='$spg' WHERE id='". $_GET["id"] ."'") or die(mysql_error());
        if(mysql_affected_rows()==0)
        {
            echo "Der er en fejl: " . mysql_error() . "<hr>";
echo "<pre>";
print_r($_POST);
echo "</pre>";
exit();
        }
        echo "<div align=\"center\" class=\"tekst_linkThin\">Spørgsmålet blev oprettet</div>";
    }
}
?>
<?
        require "db.php"; 
$query = mysql_query ("SELECT * FROM spg_spg WHERE id='". $_GET["id"] ."'") or die(mysql_error());
while ($row = mysql_fetch_array($query)) {
$spg = $row['spg'];
$id = $row['id'];
echo     "<form name=\"rediger\" method=\"post\" action=\"redi_spg.php?id=$id\">
            <table width=\"100%\" height=\"1%\"  border=\"0\">
  <tr><td width=\"20%\" height=\"26\" valign=\"middle\">
<div align=\"left\" class=\"style2\">Sp&oslash;rgsm&aring;let:</div></td>
      <td width=\"80%\" valign=\"middle\">
        <textarea name=\"spg\" cols=\"50\">$spg</textarea>
      </td>
  </tr>";
$query = mysql_query("SELECT * FROM `spg_svar` WHERE spg_id='". $_GET["id"] ."'") or die (mysql_error());
while($vis = mysql_fetch_array($query)) {
$svar = $vis['svar'];
echo  "<tr><td height=\"26\" valign=\"middle\" class=\"style2\">Svar: </td>
    <td valign=\"middle\">
<input name=\"svar[]\" type=\"text\" size=\"50\" value=\"$svar\"></td></tr>";
    }
    }
    ?>
  <tr>
    <td height="26" colspan="2" valign="top"><div align="center">
        <input type="hidden" name="spg_id" value="$id"></div></td>
    </tr>
  <tr>
    <td height="26" colspan="2" valign="top"><div align="center">
      <input name="op" type="submit" id="op" value="Rediger spørgsmål">
    </div></td>
  </tr>
    </table>
    </form>
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