Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] 2 petle foreach jak rozłożyć na 1 wynik
Forum PHP.pl > Forum > Przedszkole
kielich
Witam mam sobie 2 petle foreach z których dane dodał do bazy jako zamówienie a wiec

Kod
<?php
session_start();

require_once 'conn.php';
$wartosc=$_SESSION['calkowita_wartosc'];
echo $wartosc.'<br />';

foreach($_SESSION['ile'] as $v)
{


$nazwa=$v["nazwa"];
$cena=$v["cena"];


if (isset($_GET['OK'])==TRUE){

foreach($_SESSION['ilos'] as $v)
{

$ilosc= $v["ilosc"];

$query = "INSERT INTO zamowienia (nazwa_prod, cena, wartosc, ilosc, klient, czas)". "VALUES ('$nazwa', '$cena', '$wartosc', '$ilosc', 'ghj', NOW())";
           $result=mysql_query($query) or die ('Nie mozna wykonanac.Przepraszamy');
          
    }        

}
}
?>


ta druga petla wprowadza mi tylko ilosc szt. danego produktu jesli mam 2 produkty w koszyku to dodaje mi 4 razy a nie 2

Pytanie:
Czy da się z 2 petli zrobić jakos jedna questionmark.gif?
bede wdzieczny za odp
Wicepsik
A co Ci przeszkadzają 2 pętle? Nie da się chyba zrobić w jednej
Używaj bbcode
kielich
no to ze jesli mam 2 produkty to dodaje 4 rekordy ;/

I co powie mi ktos jak to mozna zrobić jak nie obiore tych petli to jest zle ...
seth-kk
pewnie pomogloby pokazanie co sie ktyje w zmiennych sesujnych bo poza tym ze sa sobie 2 petle ktore przepisuja informacje miedzy zmiennymi ciezko domyslic sie co sie za tym kryje (a przynajmniej ja mam problem)
kielich
Kod
$ksiazka = pobierz_dane_ksiazki($isbn);
$_SESSION['ksiazka']=$ksiazka;

$_SESSION['ile'][$counter] = $ksiazka;
$counter ++;

$_SESSION['ilos'][$counte] = $ilosc;
$counte ++;


no wiec tak ta ilosc to ilosc sztuk danego produktu w koszyk
nie da sie tych petli jakos w jedna wcalić czy cos smile.gif
bemol
masz strasznie nieczytelny kod. poza tym wg tego co piszesz to $_SESSION['ile'] i $_SESSION['ilosc'] to to samo...
Zrób sobie tablice $przedmioty:
$przedmioty[$i]['nazwa']
$przedmioty[$i]['cena']
$przedmioty[$i]['sztuk']
gdzie $i to indeks przedmiotu i poleć
  1. <?php
  2. foreach ($_SESSION['przedmioty'] as $przedmiot) {
  3.  
  4. $query = "INSERT INTO zamowienia (nazwa_prod, cena, wartosc, ilosc, klient, czas)". " VALUES ('".$przedmiot['nazwa']."', '".$przedmiot['cena']."', '$wartosc', '".$przedmiot['sztuk']."', 'ghj', NOW())";
  5.           $result=mysql_query($query) or die ('Nie mozna wykonanac.Przepraszamy');
  6.  
  7. }
  8. ?>
kielich
no jednak ine to samo smile.gif $_SESSION['ile'] wyswietla mi wszystko oprócz ilosc
ilosci wyswietla $_SESSION['ilos']
bemol
a spróbuj zrobić tak jak napisałem.
kielich
no tak tylko teraz nie wiem jak bo piszac troch namieszałem a teraz zminiać wszystko to troche zamieszania tongue.gif
marian2299
A wiesz, że zdanie zaczyna się wielką literą, a kończy kropką ?
kielich
Więc jak z tego kodu zrobić tak jak bemol powiedział bede wdzieczny za odpowiedziec ponieważ walcze z tym juz od 4 dni

Kod
<?php

ob_start();

error_reporting(0);

function wyswietl_koszyk($koszyk, $zmiana = true, $obrazki = 1)

{



  echo '<table  border="1" rules="all" bordercolor="silver" width = 100% cellspacing = 0>

        <form action = basket.php method = post>

        <tr><th colspan = '. (1+$obrazki) .' bgcolor="#5e99a3" ><font color="#fff">Produkt</font></th>

        <th bgcolor="#5e99a3"><font color="#fff"> Cena:</font></th><th bgcolor="#5e99a3"><font color="#fff">Ilość</font></th>

        <th bgcolor="#5e99a3"><font color="#fff">Wartość</font></th></tr>';





  // wyświetlanie każdego produktu jako wiersza tabeli

  foreach ($koszyk as $isbn => $ilosc)

  {

    $ksiazka = pobierz_dane_ksiazki($isbn);
$_SESSION['ksiazka']=$ksiazka;

$_SESSION['ile'][$counter] = $ksiazka;
$counter ++;

$_SESSION['ilos'][$counte] = $ilosc;
$counte ++;



    echo '<tr>';



      echo '<td align = center>';

  





           echo '<img src="Foto/'.$ksiazka['foto'].'" border="0" ';

           echo 'width = "150px" height = "130px;" />';

    





      echo '</td>';





    echo '<td align = left>';

    echo '<a href = "opis.php?kategoria='.$ksiazka['nazwa_kategorii'].'&nazwa='.$ksiazka['id'].'" style="color:black; text-decoration:none; margin-left:10px;">'.$ksiazka['nazwa'].'</a>';

    echo '</td><td align = center>PLN: '.str_replace(',','.',$ksiazka['cena']);

    echo '<td align = center>';

    // jeżeli zmiany są dozwolone, ilości znajdują się w polach tekstowych

    if ($zmiana == true)

      echo "<input type = 'text' name = \"$isbn\" value = \"$ilosc\" size = \"3\">";

    else

      echo $ilosc;





    echo '</td><td align = "center">PLN '.str_replace(',','.',$ksiazka['cena']*$ilosc).'<a href="delete_produkt.php?nazwa='.$ksiazka['id'].'" alt = "Usuń" title= "usuń"  ><span class="basket"></span></a></td></tr>';





  }


Niech mi ktos podsunie myśl BOMOLA
bardzo mi na tym zalezy .

Czy naprawde nie ma nikogo na tym forum kto bedzie w stanie mi pomóc questionmark.gifquestionmark.gifquestionmark.gif
erix
Pomóc, czy wydziergać gotowca? Giełda ofert jest niżej.
kielich
Nie gotowca bo to nie ma wogóle sensu przykład po prostu bardziej zblizony do tego co dusza moja zamierza osiągnąć smile.gif.

Czy pokaze mi ktoś jak moge to wykonac (to co pisał BEMOL) mój kod jest 3 posty wyzej
kurcze juz sie mecze z tym kilka dni i nic, nie chce gotowca chce po prostu przykład który sobie do własnych potrzeb poprawie.

Widze jednak ze nia ma sensu dalej tego tematu cignać tylko bemol byłby w stanie mi pomóc ;/
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.