Avatar billede snigeren Nybegynder
19. august 2007 - 23:13 Der er 7 kommentarer og
1 løsning

problemer med mine while scripts

i kode version 1 virker scriptet fint:

while($row = mysql_fetch_array($query5))
{
    echo '<tr><td colspan="3"><input type="checkbox" name="ids[]"';
    echo '" value="' . $row['surfacenavn'] . ":" . $row['farvekode'] . '">';
    echo $row['surfacenavn'];
    echo '</td></tr>';
}


i kode version 2 "mister" jeg værdien i $row['farvekode'] der kommer efter ":" herunder ses kode version 2:

while($row = mysql_fetch_array($query5))
{
    $query = mysql_query("SELECT * FROM shop_surface_dd WHERE varenr='" . $_GET["varenr"] . "'")or die(mysql_error());
    echo '<tr><td colspan="3"><input type="checkbox" name="ids[]"';
    echo ' value="' . $row['surfacenavn'] . '":"' . $row['farvekode'] . '" ';
    while($row7 = mysql_fetch_array($query))
    {
        if($row7['surfacenavn']==$row['surfacenavn'])
            {
            echo 'checked="checked"';
            }
    }
    echo '>';
      echo $row['surfacenavn'];
      echo '</td></tr>';
}


Jeg bruger så til sidst følgende kode til at indsætte i databasen hvilke checkboxe der er checked:

$ids = ( isset( $_POST['ids'] ) && is_array( $_POST['ids'] ) ? $_POST['ids'] : array() );
    foreach( $ids as $id )
      {
        list($surfacenavn, $farvekode) = explode(":", $id);
        $sql_dd = "insert into shop_surface_dd (varenr, farvekode, surfacenavn) values ('$varenr', '$farvekode', '$surfacenavn')";
        $result_dd = mysql_query($sql_dd) or die(mysql_error());
      }


Håber nogle af jer skarpe php gutter ka hjælpe mig endnu engang =)
Avatar billede erikjacobsen Ekspert
19. august 2007 - 23:16 #1
Hvad er der galt i at skrive
      echo '" value="' . $row['surfacenavn'] . ":" . $row['farvekode'] . '">';
som i første version?
Avatar billede snigeren Nybegynder
20. august 2007 - 16:45 #2
uhm det står da også i kode version 2?!

while($row = mysql_fetch_array($query5))
{
    $query = mysql_query("SELECT * FROM shop_surface_dd WHERE varenr='" . $_GET["varenr"] . "'")or die(mysql_error());
    echo '<tr><td colspan="3"><input type="checkbox" name="ids[]"';
    echo ' value="' . $row['surfacenavn'] . '":"' . $row['farvekode'] . '" ';    //der står vel også value surfacenavn:farvekode her...
    while($row7 = mysql_fetch_array($query))
    {
        if($row7['surfacenavn']==$row['surfacenavn'])
            {
            echo 'checked="checked"';
            }
    }
    echo '>';
      echo $row['surfacenavn'];
      echo '</td></tr>';
}
Avatar billede erikjacobsen Ekspert
20. august 2007 - 16:50 #3
Nej
Avatar billede erikjacobsen Ekspert
20. august 2007 - 16:51 #4
Ok, det var måske lige kort nok ;)  Men hvis den første virker, er der da ingen grund til at lave den om. Og nummer 2 virker ikke pga "-ere i værdien for attributten.
Avatar billede snigeren Nybegynder
20. august 2007 - 17:20 #5
altså jeg ved ikke lige hvad der var galt, men jeg byggede den op forfra og nu virker den! =)

Smid lige et svar så jeg kan få lukket det hersens spørgsmål =)
Avatar billede snigeren Nybegynder
20. august 2007 - 17:23 #6
grunden til at jeg skulle lave kode version 1 om var at jeg skulle checke hvilke boxe der var sat kryds i da man oprettede varen i sin tid. så lavede jeg den her while og puttede ind i:

while($row7 = mysql_fetch_array($query))
{
  if($row7['surfacenavn']==$row['surfacenavn'])
      {
      echo 'checked="checked"';
      }
}
Avatar billede erikjacobsen Ekspert
20. august 2007 - 17:29 #7
Ingen point til mig, tak.
Avatar billede snigeren Nybegynder
20. august 2007 - 18:31 #8
hehe nåe ja det er vist dig der ikke plejer at ville have points,.. det har jeg sikkert glemt til næste gang :D
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