Avatar billede crabber Nybegynder
07. december 2006 - 17:17 Der er 7 kommentarer og
1 løsning

update fra for eller while løkke?

Jeg har lavet en while løkke som udskrive flere rækker fra dben. Nu skal jeg så skulle kunne update de samme felter, det vil ikke rigtigt virke for mig.

Jeg har en slump kode her..

Her er selve uploaden:
if(isset($_POST['submit'])){
   
$upload = "UPDATE produkter SET billede='$_POST[imagesvalg]' , overskrift='$_POST[overskrift]' , gid='$_POST[produktvalg]' WHERE id='$_GET[id]'";
$uploadResult = mysql_query($upload);

$uploadQuery = "UPDATE produkt_tekst SET beskrivelse='$_POST[id]' , tekst='$_POST[tekst]' , pro_id='$_POST[id]' WHERE id='$_GET[id]'";
$uploadResult = mysql_query($uploadQuery);


$endmessage = 'Produktet er opdateret';

}

Her er while løkken:
$produktQuery = "SELECT * FROM produkt_tekst WHERE pro_id = '$_GET[id]' ";
$produktResult = mysql_query($produktQuery) or die(mysql_error());
while ($g = mysql_fetch_array($produktResult))
{
$text .='<tr>';
$text .= '<td>&nbsp;</td>';       
$text .= '<td valign="top">';

$beskrivelseQuery = "SELECT * FROM beskrivelses_felter ORDER BY felter ASC";
$beskrivelsesResult = mysql_query($beskrivelseQuery);

$text .= "<select name='".$g['id']."' id='".$g['id']."'>";
while ($row = mysql_fetch_array($beskrivelsesResult))

    {
        if($g['beskrivelse'] == $row['id'])
        {
            $text .= '<option value="'.$row['id'].'" selected=';
            $text .='selected';
        }
        else
        {
            $text .= "<option value=".$row['id'];
        }
        $text .=">";
        $text .= $row['felter'];
        $text .= "</option>";
    }
    $text .= "</select>";
$text .= '</td>';

$text .= '<td colspan="3">';
$text .= '<textarea name="'.$row['id'].'" rows="3" id="'.$row['id'].'">';
$text .= $g['tekst'];
$text .= '</textarea></td>';
$text .= '<td></td>';
$text .= '</tr>';


print($text);

Casper
Avatar billede coderdk Praktikant
07. december 2006 - 18:29 #1
Du kan, for at debugge, starte med lige efter:

if(isset($_POST['submit'])){

at skrive:

echo "<pre>"; var_dump( $_POST ); echo "</pre>"; exit;

For at se hvad din POST indeholder.
Avatar billede mcardle Nybegynder
07. december 2006 - 19:28 #2
Du bruger både $_POST og $_GET... Hvad har du sat din form til at sende med.. Du echo'er heller ingen start-tag til din select og der er ikke noget form-tag eller table-start/slut-tag...

Det kan godt være du ikke har smidt hele koden ud, men noget mangler der i hvert fald :o)
Avatar billede mcardle Nybegynder
07. december 2006 - 19:29 #3
Jow, select-start bliver echo'et, sorry...
Avatar billede mcardle Nybegynder
07. december 2006 - 19:30 #4
Du kan heller ikke have 2 while-løkker inde i hinanden.
Avatar billede coderdk Praktikant
07. december 2006 - 19:34 #5
Der er nu intet i vejen for at have 10 while løkker inde i en eller flere while-løkker ;)
Avatar billede mcardle Nybegynder
07. december 2006 - 19:35 #6
Jeg gjorde det bare på et tidspunk og kunne ikke få det til at virke, men okay, det kan være du kan...
Avatar billede crabber Nybegynder
08. december 2006 - 08:09 #7
Jeg kan lige prøve at lægge hele scriptet op. Så kan i se hvordan jeg har lavet det..
Men det fylder lidt!

Jeg har lige prøvet det du skrev coderdk.
Den spytter kun iderne ud på de celler den har trykket fra dben.

array(14) {
  ["produktvalg"]=>
  string(2) "77"
  ["overskrift"]=>
  string(4) "Test"
  ["images"]=>
  string(1) "5"
  ["imagesvalg"]=>
  string(1) "5"
  [249]=>
  string(2) "12"
  [250]=>
  string(2) "13"
  [251]=>
  string(2) "17"
  [252]=>
  string(2) "11"
  [253]=>
  string(2) "15"
  [254]=>
  string(2) "16"
  [255]=>
  string(2) "11"
  [256]=>
  string(1) "9"
  [257]=>
  string(2) "15"
  ["submit"]=>
  string(7) "Opdater"
}


KODEN:

<?php
session_start();
if(!isset($_SESSION['user_id']))
{
    header('location: index.php');
}
else
{


?>

<script type="text/JavaScript">
<!-- Viser billede
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//-->
</script>
<table width="420" border="0" cellpadding="0" cellspacing="0" >
  <tr>
    <td width="65" height="19">&nbsp;</td>
    <td colspan="3" class="menu_link">Rediger et produkt</td>
  </tr>
  <tr>
    <td><a href="#"></a></td>
    <td width="65"></a></td>
    <td colspan="2">&nbsp;</td>
  </tr>
<?php 
if($_REQUEST['id'] == NULL){

include"../includes/mysql.inc.php";

$emneQuery = "SELECT * FROM produkter ORDER BY overskrift ASC";
$emnerResult = mysql_query($emneQuery);

while ($row = mysql_fetch_array($emnerResult))
          {
          $select .= "<tr><td height=?'19'>&nbsp;</td>
                        <td><a href='ors.php?underside=produkter_rediger&id=" . $row["id"] . "'id='rediger'>Rediger</a>&nbsp;</td>
                        <td width='700'> ";
          $select .= $row["overskrift"];
          $select .= "</td></tr>";
          }

echo $select;
}

if(isset($_POST['submit'])){
   
$upload = "UPDATE produkter SET billede='$_POST[imagesvalg]' , overskrift='$_POST[overskrift]' , gid='$_POST[produktvalg]' WHERE id='$_GET[id]'";
$uploadResult = mysql_query($upload);

$produktQuery = "SELECT * FROM produkt_tekst WHERE pro_id = '$_GET[id]' ";
$produktResult = mysql_query($produktQuery) or die(mysql_error());





$endmessage = 'Produktet er opdateret';

}
?>
</table>
<?php

if($_REQUEST["id"] != NULL)
    {
       



 
?>


<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="420" border="0" cellpadding="0" cellspacing="0">

  <tr>
    <td width="65" height="19">&nbsp;</td>
    <td width="89" valign="middle">V&aelig;lg gruppe:</td>
    <td colspan="3">

<?php
$emneQuery = "SELECT * FROM produkter WHERE id = '$_GET[id]'";
$emnerResult = mysql_query($emneQuery) or die(mysql_error());
$e = mysql_fetch_array($emnerResult);

$sideQuery = "SELECT * FROM grupper ORDER BY gruppe ASC";
$siderResult = mysql_query($sideQuery) or die(mysql_error());

$select = "<select name='produktvalg'>";
while ($row = mysql_fetch_array($siderResult))
          {
         
          if($e['gid'] == $row['id'])
          {
          $select .= '<option value="'.$row['id'].'" selected='; 
          $select .='selected';
          } else {
          $select .= "<option value=".$row['id'];
          }
          $select .=">";
          $select .= $row['gruppe'];
          $select .= "</option>";
          }
$select .= "<select>";
print $select;
?></td>
    <td width="4">&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td valign="middle">Overskrift: </td>
    <td colspan="3"><input name="overskrift" type="text" id="overskrift" value="<?php echo $e['overskrift']; ?>"/></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td height="19">&nbsp;</td>
    <td valign="middle"><p>Billede:<input type="hidden" name="images" value="<?php echo $e['billede']; ?>"/><br />
          <br />
    </p>      </td>
    <td colspan="3"><label>
   
<?php

    $gruppeQuery = "SELECT * FROM produkter WHERE id = '$_GET[id]' ";
    $gruppeResult = mysql_query($gruppeQuery) or die(mysql_error());
    $g = mysql_fetch_array($gruppeResult);

    $imagesQuery = "SELECT * FROM images_produkter ORDER BY billede ASC";
    $imagesResult = mysql_query($imagesQuery) or die(mysql_error());
    $select = "<select name='imagesvalg'>";
    while ($row = mysql_fetch_array($imagesResult))
    {
        if($g['billede'] == $row['id'])
        {
            $select .= '<option value="'.$row['id'].'" selected=';
            $select .='selected';
        }
        else
        {
            $select .= "<option value=".$row['id'];
        }
        $select .=">";
        $select .= $row['billede'];
        $select .= "</option>";
    }
    $select .= "<select>";
    Print $select;
?> 
   
      <a href="java script:;" onclick="MM_openBrWindow('<?php echo "../".$row['billede']; ?>','','width=250,height=250')"><img src="../images/show_images.gif" alt="Se det nuv&aelig;rende billed." width="20" height="14" border="0" /></a> <br />
    V&aelig;lg billede! </label></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td valign="top">&nbsp;</td>
    <td colspan="3">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td colspan="4">Beskrivelse:</td>
    <td>&nbsp;</td>
  </tr>

  <tr>
    <td>&nbsp;</td>
    <td colspan="4">&nbsp;</td>
    <td valign="top">&nbsp;</td>
  </tr>


<?php

$produktQuery = "SELECT * FROM produkt_tekst WHERE pro_id = '$_GET[id]' ";
$produktResult = mysql_query($produktQuery) or die(mysql_error());
while ($g = mysql_fetch_array($produktResult))
{
if (isset($_POST['submit'])){

echo $uploadQuery = "UPDATE produkt_tekst SET beskrivelse='$g[id]' , tekst='$g[tekst]' , pro_id='$g[id]' WHERE id='$_GET[id]'";
$uploadResult = mysql_query($uploadQuery);
}
}
//TEKST ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
$produktQuery = "SELECT * FROM produkt_tekst WHERE pro_id = '$_GET[id]' ";
$produktResult = mysql_query($produktQuery) or die(mysql_error());
while ($g = mysql_fetch_array($produktResult))
{
$text .='<tr>';
$text .= '<td>&nbsp;</td>';       
$text .= '<td valign="top">';

$beskrivelseQuery = "SELECT * FROM beskrivelses_felter ORDER BY felter ASC";
$beskrivelsesResult = mysql_query($beskrivelseQuery);

$text .= "<select name='".$g['id']."' id='".$g['id']."'>";
while ($row = mysql_fetch_array($beskrivelsesResult))

    {
        if($g['beskrivelse'] == $row['id'])
        {
            $text .= '<option value="'.$row['id'].'" selected=';
            $text .='selected';
        }
        else
        {
            $text .= "<option value=".$row['id'];
        }
        $text .=">";
        $text .= $row['felter'];
        $text .= "</option>";
    }
    $text .= "</select>";
$text .= '</td>';

$text .= '<td colspan="3">';
$text .= '<textarea name="'.$row['id'].'" rows="3" id="'.$row['id'].'">';
$text .= $g['tekst'];
$text .= '</textarea></td>';
$text .= '<td></td>';
$text .= '</tr>';

}
print($text);
//TEKST SLUT :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::


?>


  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td width="49" valign="top">&nbsp;</td>
    <td width="71">&nbsp;</td>
    <td width="138" valign="top">&nbsp;</td>
    <td valign="top">&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td valign="top">&nbsp;</td>
    <td colspan="3" valign="top">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td valign="top">&nbsp;</td>
    <td colspan="3" valign="top">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td valign="top">&nbsp;</td>
    <td colspan="3" valign="top">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td colspan="3" align="right" valign="top"><input name="submit" type="submit" id="submit" value="Opdater" /></td>
    <td>&nbsp;</td>

  </tr>
  <tr>
    <td>&nbsp;</td>
    <td colspan="4" valign="top"><?php echo $endmessage; ?></td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td colspan="4" valign="top">&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>


<?php }
} ?>
Avatar billede crabber Nybegynder
13. maj 2007 - 18:27 #8
lukker spm
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