Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][HTML]zapytanie sql
Forum PHP.pl > Forum > Przedszkole
gosc
WItam

Poniższe zapytanie powinno dodawać do tabeli zamowienia a nie dodaje
Ktoś powie mi dlaczego
Z góry dzieki

  1. <?php
  2. $suma = $prodrow['cena'] * $_POST['amountBox'] ;
  3. $ilosc = $_POST['amountBox'];
  4. $id_klient = $_SESSION['SESS_USERID'];
  5. $id_produktu=$prodrow['id'];
  6. $sql = "INSERT INTO zamowienie VALUES('','$id_klienta'$id_produktu', NOW(),'$ilosc','$suma','0')";
  7. ?>
Daimos
moze dlatego ze masz blad w skladni:
  1. <?php
  2. $sql = "INSERT INTO zamowienie VALUES('','$id_klienta'$id_produktu', NOW(),'$ilosc','$suma','0')";
  3. ?>

chyba powinno byc:
  1. <?php
  2. $sql = "INSERT INTO zamowienie VALUES('','$id_klienta', '$id_produktu', NOW(),'$ilosc','$suma','0')";
  3. ?>

pozatym:
  1. <?php
  2. mysql_query($sql) or die(mysql_error());
  3. ?>

wyswietli Ci blad sql
gosc
poprawiłem składnie funkcja or die nie wysiwetla nic dalej nie dodaje sie do bazy
nevt
popatrz uważnie na swój kod...

Poniższe zapytanie powinno dodawać do tabeli zamowienia a nie dodaje ...
...
$id_klient = $_SESSION['SESS_USERID'];
...
$sql = "INSERT INTO zamowienie VALUES('','$id_klienta', '$id_produktu', NOW(),'$ilosc','$suma','0')";

teraz widzisz błędy?

poza tym jeżeli id_klienta, id_produktu, ilosc i suma to wartości liczbowe to niewskazane i niepotrzebne są apostrofy:
  1. <?php
  2. $sql ="INSERT INTO `zamowienia` VALUES(NULL, $id_klienta, $id_produktu, NOW(), $ilosc, $suma, 0);";
  3. ?>

powodzenia.
gosc
dzieki za podpowiedzi ale dalej nie działa ;/
kallosz
to może pokaż w jaki sposób to robisz? bo jasnowidzem nikt nie jest...
gosc
Cały kod :

<?php
session_start();
require("config/bd.php");

$prodsql = "SELECT * FROM produkty WHERE id = " . $_GET['id'] . ";";
$prodres = mysql_query($prodsql);
$numrows = mysql_num_rows($prodres);
$prodrow = mysql_fetch_assoc($prodres);

if($numrows == 0)
{
header("Location: " . $config_basedir);
}
else
{
if($_POST['submit'])
{
if($_SESSION['SESS_LOGGEDIN'])
{
$suma = $prodrow['cena'] * $_POST['amountBox'] ;
$ilosc = $_POST['amountBox'];
$id_klient = $_SESSION['SESS_USERID'];
$id_produktu=$prodrow['id'];
$sql = "INSERT INTO zamowienie VALUES('','$id_klienta'$id_produktu', NOW(),'$ilosc','$suma','0')";
mysql_query($sql);

header("Location: " . $config_basedir . "pokaz_koszyk.php");
}
else
{

header("Location: " . $config_basedir . "logowanie.php");
}
}
require("main.php");

echo "<form action='dodawanie_do_koszyka.php?id=" . $_GET['id'] . "' method='POST'>";
echo "<table cellpadding='10'>";


echo "<tr>";
if(empty($prodrow['obraz'])) {
echo "<td><img src='./admin/obrazy/brak_obrazu.jpg' width='50' alt='" . $prodrow['nazwa'] . "'></td>";
}
else {
echo "<td><img src='./admin/obrazy/" . $prodrow['obraz'] . "' width='50' alt='" . $prodrow['nazwa'] . "'></td>";
}

echo "<td>" . $prodrow['nazwa'] . "</td>";
echo "<td>Okre¶l ilo¶ć<select name='amountBox'>";
$ile=mysql_query('SELECT stan_magazyn FROM produkty WHERE id = '.$_GET['id']);
$arr=mysql_fetch_assoc($ile);
echo $arr['stan_magazyn'];
for($i=1;$i<=$arr['stan_magazyn'];$i++)
{
echo "<option>" . $i . "</option>";
}

echo "</select></td>";


echo "</select></td>";
echo "<td><strong>" . sprintf('%.2f', $prodrow['cena']) . "zł</strong></td>";
echo "<td><input type='submit' name='submit' value='Dodaj do koszyka'></td>";
echo "</tr>";

echo "</table>";
echo "</form>";

}

?>
nevt
przecież ty ciągle masz błędny kod... nie wprowadziłeś do niego ani jednej sugerowanej poprawki...
gosc
soory zmienilem a skopiowalem z starego

fragment zmieniony :

  1. <?php
  2. if($_SESSION['SESS_LOGGEDIN'])
  3.                {
  4.                    $suma = $prodrow['cena'] * $_POST['amountBox'] ;
  5.                    $ilosc = $_POST['amountBox'];
  6.                    $id_klienta = $_SESSION['SESS_USERID'];
  7.                    $id_produktu=$prodrow['id'];
  8.                    $sql = "INSERT INTO zamowienie VALUES('','$id_klienta,'$id_produktu', NOW(),'$ilosc','$suma','0')";
  9.                    mysql_query($sql);
  10.            
  11.            header("Locatio: " . $config_basedir . "pokaz_koszyk.php");
  12.              }
  13.        else
  14. ?>


dalej nie dizała
gosc
  1. <?php
  2. $id_klient = $_SESSION['SESS_USERID'];
  3. $id_produktu = $prodrow['id'];
  4. $ilosc = $_POST['amountBox'];
  5. $cena = $prodrow['cena'];
  6. $dodaj_zamowienie=mysql_query("INSERT INTO temp_zamowienie VALUES(NULL,'$id_klient','$id_produktu','$ilosc',$cena)");
  7. ?>


teraz dodaje mi do bazy ale $id_klient jest zawsze 0 a jak dam echo $_SESSION['SESS_USERID'] to jest 1
gosc
Cały kod :
  1. <?php
  2.  
  3.    require("config/bd.php");
  4.  
  5.    $prodsql = "SELECT * FROM produkty WHERE id = " . $_GET['id'] . ";";
  6.    $prodres = mysql_query($prodsql);
  7.    $numrows = mysql_num_rows($prodres);        
  8.    $prodrow = mysql_fetch_assoc($prodres);
  9.  
  10.    if($numrows == 0)
  11.    {
  12.     header("Locatio: " . $config_basedir);
  13.    }
  14.    else
  15.    {
  16.        if($_POST['submit'])
  17.        {
  18.           if(isset($_SESSION['SESS_LOGGEDIN']) == TRUE)
  19.               {
  20.                 $id_klienta = $_SESSION['SESS_USERID'];
  21.                    $id_produktu = $prodrow['id'];
  22.                    $ilosc = $_POST['amountBox'];
  23.                    $cena = $prodrow['cena'];
  24.                    $dodaj_zamowienie=mysql_query("INSERT INTO temp_zamowienie VALUES(NULL,'$id_klienta','$id_produktu','$ilosc',$cena)");
  25.                    header("Locatio: " . $config_basedir."pokaz_koszyk.php");
  26.                }    
  27.          else
  28.             {
  29.              $adres='htt://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];    
  30.                  session_register("SESS_HTTP");        
  31.              $_SESSION['SESS_HTTP'] =    $adres;
  32.              header("Locatio: " . $config_basedir."logowanie.php");    
  33.              }            
  34.       }        
  35.            require("naglowek.php");
  36.  
  37.            echo "<form action='dodawanie_do_koszyka.php?id=" . $_GET['id'] . "' method='POST'>";
  38.            echo "<table cellpadding='10'>";
  39.        
  40.        
  41.            echo "<tr>";
  42.                if(empty($prodrow['obraz'])) {
  43.                    echo "<td><img src='./admin/obrazy/brak_obrazu.jpg' width='50' alt='" . $prodrow['nazwa'] . "'></td>";
  44.                }
  45.                else {
  46.                    echo "<td><img src='./admin/obrazy/" . $prodrow['obraz'] . "' width='50' alt='" . $prodrow['nazwa'] . "'></td>";
  47.                }
  48.  
  49.                echo "<td>" . $prodrow['nazwa'] . "</td>";
  50.                echo "<td>Określ ilość<select name='amountBox'>";
  51.                    $ile=mysql_query('SELECT stan_magazyn FROM produkty WHERE id = '.$_GET['id']);
  52.                 $arr=mysql_fetch_assoc($ile);
  53.                 echo $arr['stan_magazyn'];
  54.                for($i=1;$i<=$arr['stan_magazyn'];$i++)
  55.                {
  56.                    echo "<option>" . $i . "</option>";
  57.                }
  58.            
  59.                echo "</select></td>";
  60.                      
  61.            
  62.                echo "</select></td>";
  63.                echo "<td><strong>" . sprintf('%.2f', $prodrow['cena']) . "zł</strong></td>";
  64.                echo "<td><input type='submit' name='submit' value='Dodaj do koszyka'></td>";
  65.            echo "</tr>";
  66.                            
  67.            echo "</table>";
  68.            echo "</form>";
  69.        
  70.    }
  71.  
  72. ?>


Są produkty w bazie więc if($numrows == 0) jest false czyli idzie dalej
Po naciśnięciu Ddaj do koszyka sprawdza czy jestem zalogowany.
Jak jestem zalogowany to powinno dodac do tabeli temp_zamowienia i przenieść mnie do pokaz_koszyk.php
a nie dodaje mi do bazy i przechodzi do strony głównej ..... a jeszcze przed dopisaniem
reguły logowania
  1. <?php
  2. else
  3.             {
  4.              $adres='htt://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];    
  5.                  session_register("SESS_HTTP");        
  6.              $_SESSION['SESS_HTTP'] =    $adres;
  7.              header("Locatio: " . $config_basedir."logowanie.php");    
  8.              }
  9. ?>


działało ale nie dodawało nr klienta ..... proszę o jakieś sugestie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.