Avatar billede farhang Nybegynder
25. september 2006 - 16:47 Der er 9 kommentarer og
1 løsning

Hvad betyder Warning: extract?

Hvad betyder følgende fejlmelding?

Warning: extract(): First argument should be an array in /xxxxxx.php on line 75

Det nedenstående er starten af min php-kode:

<?php
$total = 0;
while ($row = mysql_fetch_array($results)) {
  echo "<tr>";
  extract($row);
  $products = "SELECT * FROM products " .
          "WHERE products_nummer='$orderdet_ordernummer'";
  $products2 = mysql_query($products);
  $products3 = mysql_fetch_array($products2);
  extract($products3); //*dette er linje 75
  echo "<td>
osv.
Avatar billede coderdk Praktikant
25. september 2006 - 17:13 #1
At det ikke er et array, der er måske ingen resultater... Prøv:

if ( $products3 = mysql_fetch_array($products2) )
{
  extract($products3); //*dette er linje 75
}
Avatar billede coderdk Praktikant
25. september 2006 - 17:14 #2
Faktisk, prøv:

if ( $products3 = mysql_fetch_assoc($products2) )
{
  extract($products3); //*dette er linje 75
}

Folk bruger ofte array når de mener assoc ;)
Avatar billede Slettet bruger
25. september 2006 - 17:50 #3
Folk bruger sjældent både keys og associative keys sammen i hvert fald :)
Avatar billede farhang Nybegynder
25. september 2006 - 20:02 #4
Tak, det virkede. Smid et svar. ;-)
Avatar billede coderdk Praktikant
25. september 2006 - 20:21 #5
Yessir :)
Avatar billede farhang Nybegynder
25. september 2006 - 20:35 #6
Er du php-haj, coderdk? Jeg har nogle php spørgsmål, er du interesseret i at hjælpe mig?

Farhang
Avatar billede coderdk Praktikant
25. september 2006 - 20:44 #7
Du kan da spørge :) Bare skriv i denne "tråd" :)
Avatar billede farhang Nybegynder
25. september 2006 - 20:56 #8
ok, tak.
Jeg har følgende kode i min varerbeskrivelse:

<?php
session_start();
//connect to the database - either include a connection variable file
//or type the following lines:
$connect = mysql_connect("xxxxx", "xxxxx", "xxxxx")
  or die("Hey loser, check your server connection.");
//make our database active
mysql_select_db("xxxxx_shop");

//get our variable passed through the URL
$prodid = $_REQUEST['prodid'];

//get information on the specific product we want
$query = "SELECT * FROM products WHERE products_nummer='$prodid'";
$results = mysql_query($query)
  or die(mysql_error());
$row = mysql_fetch_array($results);
extract($row);

?>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="library/fonts.xml" type="text/css">
</head>
<body bgcolor="#FFFFFF">
<table width="1024" border="0" cellspacing="0" cellpadding="0" align="center">
  <tr>
    <td colspan="3"><img src="top.gif" width="1024" height="60"></td>
  </tr>
  <tr bgcolor="#A99964">
    <td colspan="3" height="1"></td>
  </tr>
  <tr>
    <td colspan="3" height="23"></td>
  </tr>
  <tr>
    <td width="540" valign="bottom" align="left"></td>
    <td width="4" rowspan="2">&nbsp;</td>
    <td width="510" valign="bottom"></td>
  </tr>
  <tr>
    <td width="540" valign="bottom" align="right"><img src="<?php echo $products_imageurl; ?>" width="510" height="510"></td>
    <td width="510" class="indhold" valign="bottom" align="right">
      <table width="480" border="0" valign="bottom" align="left" cellspacing="0" cellpadding="0">
        <tr valign="bottom" align="left">
          <td height="465" rowspan="4" width="50">&nbsp;</td>
          <td height="22" colspan="3"><font class="indholdoverskrift"><?php echo $products_navn; ?> </font><font class="undermenubottom">- modelnr. <?php echo $products_nummer; ?><br><br></font></td>
        </tr>
        <tr valign="middle" align="center">
          <td height="443" align="left" valign="top"><font class="undermenu1_5"><?php echo $products_beskrivelse; ?><br><br>Smykkets mål: <?php echo $products_size; ?> cm
<br><br>Pris: <?php echo $products_pris; ?>,- Dkk (incl. moms)<br></font>
          <table width="430" border="0">
  <tr>
    <td align="right">      <form method="POST" action="modcart.php?action=add">
        <font class="undermenu1_5right">Antal:
        <input type="text" name="qty" size="2">
        <br>
        <br>
        <input type="hidden" name="products_nummer" value="<?php echo $products_nummer ?>">
        <input type="submit" name="Submit" value="Læg i posen"></font>
    </form>
    <form method="POST" action="cart.php"><font class="undermenu1_5right">
        <input type="submit" name="Submit2" value="Se indkøbsposen"></font>
      </form>
      <font class="undermenu1_5right"><a href="kollektion.php" class="undermenu1_5right">tilbage</a></font>  </tr>
</table> 

se her: http://www.designunltd.dk/la-femme/varerbeskrivelse.php?prodid=61004

Når jeg klikker på læg i posen, så lægges der kun den samme varer+ ingen udregning af pris og antal. Koden er følgende:

<?php
session_start();
$connect = mysql_connect("xxxxx", "xxxxx", "xxxxx")
  or die("Hey loser, check your server connection.");
mysql_select_db("xxxxx_shop");
if (isset($_POST['qty'])) {
  $qty = $_POST['qty'];
}
if (isset($_POST['products_nummer'])) {
  $products_nummer = $_POST['products_nummer'];
}
if (isset($_POST['modified_hidden'])) {
  $modified_hidden = $_POST['modified_hidden'];
}
if (isset($_POST['modified_quan'])) {
  $modified_quan = $_POST['modified_quan'];
}
$sess = session_id();
$action = $_REQUEST['action'];

switch ($action) {
  case "add":
    $query = "INSERT INTO orderdet (
              orderdet_ordernummer,
              orderdet_qty,
              orderdet_produktnummer)
              VALUES ('$sess','$qty','$prodnum')";
    $message = "<div align=\"center\"><strong>Item
                added.</strong></div>";
    break;

  case "change":
    $query = "UPDATE orderdet
              SET carttemp_quan = '$modified_quan'
                WHERE carttemp_hidden = '$modified_hidden'";
    $message = "<div align='center'><strong>Quantity
                changed.</strong></div>";
    break;

  case "delete":
    $query = "DELETE FROM orderdet
              WHERE carttemp_hidden = '$modified_hidden'";
    $message = "<div align='center'><strong>Item
                deleted.</strong></div>";
    break;

  case "empty":
    $query = "DELETE FROM orderdet WHERE carttemp_sess = '$sess'";
    $message = "<div align='center'><strong>Cart
                emptied.</strong></div>";
    break;

}

$results = mysql_query($query)
  or die(mysql_error());

echo $message;

include("cart.php");
?>

Hvad gør jeg forkert?
Avatar billede coderdk Praktikant
25. september 2006 - 21:57 #9
Hvad er problemet? Jeg gider ikke læse det igennem uden først at vide hvad der ikke virker som det skal :) Du får ingen fejl, går jeg ud fra?
Avatar billede farhang Nybegynder
25. september 2006 - 22:11 #10
Problemet er at hver gang jeg tilføjer en varer til min kurv uanset hvad, så er det en bestemt varer, som bliver tilføjet?!
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