Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sklep - rozgraniczenie na "damskie", "męskie"
Forum PHP.pl > Forum > Przedszkole
jarekjaroslaw
Witam,

Otuż mam problem..

Mam sklep pisany w phpie. Niestety jestem laikeim w tym temacie i do wszystkiego dochodzę drogą dedukcji...

Problem polega na tym, że skrypt powinien pobierać rozmiary osobno damskie jak i męskie. (damskie mają przedrostek 'g') Niestety nie pobiera tego prawidlowo.
No i drogą dedukcji doszedlem, że w tym miejscu (pogrubione) jest błąd. Skrypt w tym momencie pobiera przy np zamiawianiu Ski damskiej, Skę męską. Nie rozgranicza męskich i damskich... jak zamięnię męskie z damskimi to pobiera same damskie..
Chym może być to spowodowane/jak to naprawić?
W jakiej funckji mógłybm szukać przyczyny tego błędu?

  1. function zam_tabelka ( $pid, $rozm ) {
  2. $danekoszulki = array( 'nazwa', 'opis', 'cena' );
  3.  
  4. foreach ( $danekoszulki as $co ) {
  5. $zapytanie = mysql_query( "SELECT $co FROM koszulki WHERE id = '" . $pid . "'" );
  6. $$co = mysql_result( $zapytanie, 0 );
  7. }
  8.  
  9. $sciezka = "./projekty/" . $nazwa . "_mini.png";
  10.  
  11. echo "<table class=\"zamtabela\">\n<tr>\n<td style=\"width: 100px\">";
  12.  
  13. if ( file_exists( $sciezka ) )
  14. echo '<img src="' . $sciezka . '" alt="" />';
  15.  
  16. echo "</td>\n<td><span class=\"title\">\"" . $opis . "\"</span><br />";
  17.  
  18. $rozmiary = array("gs", "gm", "gl", "gxl");
  19. // poczatek pogrobienia
  20. if ( in_array( $rozm, $rozmiary ) ) {
  21. $typ = "Woman";
  22. substr( $rozm, 1 );
  23. } else {
  24. $typ = "Man";
  25. }
  26. // koniec pogrubienia


Z góry dzięki za pomoc.
Pozdrawiam
muk4
to:
  1. $danekoszulki = array( 'nazwa', 'opis', 'cena' );
  2. foreach ( $danekoszulki as $co ) {
  3. $zapytanie = mysql_query( "SELECT $co FROM koszulki WHERE id = '" . $pid . "'" );
  4. $$co = mysql_result( $zapytanie, 0 );
  5. }

zamień na:
  1. $zapytanie = mysql_query("SELECT `nazwa`, `opis`, `cena` FROM `koszulki` WHERE `id`=" . $pid)
  2. list($nazwa, $opis, $cena) = mysql_fetch_assoc($zapytanie);


Zobacz co to da.
CuteOne
Po pierwsze:
  1. $danekoszulki = array( 'nazwa', 'opis', 'cena' );
  2.  
  3. foreach ( $danekoszulki as $co ) {
  4. $zapytanie = mysql_query( "SELECT $co FROM koszulki WHERE id = '" . $pid . "'" );
  5. $$co = mysql_result( $zapytanie, 0 );
  6. }

  1. $zapytanie = mysql_query( "SELECT `nazwa`, `opis`,`cena` FROM koszulki WHERE id = " . $pid );
  2. $co = mysql_fetch_assoc( $zapytanie );
  3.  
  4. $sciezka = "./projekty/" . $co['nazwa'] . "_mini.png";


sprawdź:
  1. $rozmiary = array("gs", "gm", "gl", "gxl");
  2. if ( in_array( strtolower($rozm), $rozmiary ) ) {
  3.  
  4. $typ = "Woman";
  5. $wielkosc = substr( $rozm, 1 ); // substr zwraca wyciętą część nie wycina jej ze zmiennej
  6. } else {
  7. $typ = "Man";
  8. }
jarekjaroslaw
No niestety, żadne z rozwiązań nie pomogło. W pierwszym sypał się cały kod a w drugim zamiast wyrzucać w zamówieniu odpowiedni rozmiar, gubił nazwe. Tak czy siak dzięki za chęci : )


Może jeszcze jakieś pomysły?
CuteOne
Jeżeli się sypał to znaczy, że popełniłeś błąd w zapytaniu... napisz jakie błędy ci się pojawiły
jarekjaroslaw
Przy twoim rozwiązaniu, nie pojawiły się błędy w kodzie. Co do twojego rozwiązania to nie pomogło, albo coś źle zrobiłem. Rozumiem że to ten pierwszy fragment mam zamienić z tym niżej i dodatkowo podmienić tą końcówke tak?
nekomata
Dodaj może or die(mysql_error()) ?
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.