Kdo vyřeší rébus PHP a výpis MySQL dat – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Kdo vyřeší rébus PHP a výpis MySQL dat – PHP – Fórum – Programujte.comKdo vyřeší rébus PHP a výpis MySQL dat – PHP – Fórum – Programujte.com

 

martinb19840
Newbie
4. 7. 2014   #1
-
0
-

   

<?PHP 
$dir_nabidka = $dir."_nabidka";
                  
$dotaz1 = "SELECT nabidka_skupina FROM $dir_nabidka";
$vysledek1 = mysql_query($dotaz1) or die(mysql_error() );
                  
while($radek1 = mysql_fetch_array($vysledek1)) {
   extract($radek1);
     echo "<h1>$nabidka_skupina</h1>";
     $dotaz2 = "SELECT nabidka_mnozstvi, nabidka_nazev, nabidka_cena,   nabidka_skupina FROM $dir_nabidka WHERE nabidka_skupina = '$nabidka_skupina'";
    
    $vysledek2 = mysql_query($dotaz2) or die(mysql_error() );
    
    while($radek2 = mysql_fetch_array($vysledek2)) {
       extract($radek2);
          echo " $nabidka_množství, $nabidka_nazev, $nabidka_cena ";
                                              
       }
    }

Ahoj,

pomozte mi vyřešit následující:

Programuji administraci jídelních lístků.

Mám databázi, kde jsou sloupce např.: název, kategorie, skupina. Název je název jídla, kategorie určuje rozdělení - jídlo, pití, denní menu a skupina určuje nadpis podskupiny - v jídlech např. studené předkrmy, kuřecí maso apod. Potřebuji pomocí PHP vypsat data tak, aby se sloupec Skupina vypsal jako nadpis a pod něj se seřadily všechny položky, které ke skupině náleží, např.:

Studené předkrmy:

1. šunka s chlebem

2. něco 

Teplé předkrmy:

1. něco

2. něco..

Vytvořil jsem skript, který toto umí, ale nechápu, proč mi vypisuje výpis tolikrát, kolik je jídel v dané skupině, nedokážu to ošetřit... POMOOOC

Nahlásit jako SPAM
IP: 89.176.190.–
martinb19840
Newbie
4. 7. 2014   #2
-
0
-

tak jsem si to po sobě přečetl a už chápu, proč se vše vypisuje tolikrát, kolik je záznamů s danou skupinou... V tom případě je celá logika tohoto skriptu špatná. Umíte někdo vymyslet skript, který by fungoval tak, jak potřebuju? Já už nad tím dumám druhý den... :(

Nahlásit jako SPAM
IP: 89.176.190.–
martinb19840
Newbie
4. 7. 2014   #3
-
0
-

Díky všem za přemýšlení, vše vyřešeno velmi jednoduše - jakmile jsem přišel na to, kde je problém, ošetřil jsem to jednoduchou podmínkou, kde jsem si na začátku skriptu načetl hodnotu nabídka_skupina do proměnné a tu následně při dalším opakování cyklu kontroluji.. :) jak jednoduché..

Nahlásit jako SPAM
IP: 89.176.190.–
Kit+15
Guru
6. 7. 2014   #4
-
0
-

#3 martinb1984

Celý ten skript je pro nás stěží pochopitelný, protože v něm máš hodně nezvyklých věcí:

  • Co má znamenat proměnná $dir? Tabulky nejsou v adresářích
  • Proč děláš SQL dotazy v cyklu, když vše můžeš vytáhnout jedním dotazem?
  • Používáš zastaralý ovladač databáze, se kterým se už nechceme zatěžovat. Vyhazuje warningy, že v další verzi PHP už nebude
  • Máš tam SQL injection
  • Nemáš ošetřené výstupy do HTML

Nahlásit jako SPAM
IP: 46.174.34.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Crasher
~ Anonymní uživatel
3 příspěvky
23. 8. 2014   #5
-
0
-

Já řešil něco podobného, nakonec jsem to vyřešil následovně:

nejdřív si naplním pole $kat(kategorie) a do druhého pole $data si vložím položky(jídla)
<?php foreach ($kat as $kat_value) : ?>//projedu a postupně vypíšu kategorie(studené předkrmy,,....)

    <tr><th  colspan="3"><?= $kat_value['kat_nazev'] ?></th></tr>
    <?php foreach ($data as $value) : ?>//a tady začnu vypisovat samotné položky
    <?php if ($value["kat_id"] == $kat_value["kat_id"]){ //jestli se id kategorie shoduje s id kategorie, které mám uložené u jednotlivých "jídel", tak vypíšu celý řádek, jestli ne, nevypíšu nic//
        echo "<tr>";
        echo "<td>{$value["nazev_cz"]}</td>";
        echo "<td>{$value["cenaP"]} Eur</td>";
       
        echo "</tr>";
        }; ?>
    <?php endforeach ?> 
    <?php endforeach ?>

sorry, vytáhnul jsem si to ze šablony a ted jsem línej to přepisovat, snad se v tom vyznáš

Nahlásit jako SPAM
IP: 109.80.170.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 28 hostů

Podobná vlákna

Výpis dat z MySql — založil Zuben

PHP Mysql výpis výsledku — založil Anonymní uživatel

Php mysql vypis z DB POMOOC !!! — založil janik366

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý