logo
27.02.2021 14:27
1
Ako sčítať a vypísať dáta z Mysql z dvoch tabuliek cez tento php kód.
Chcel by som sčítať tabuľky z databázy s názvom.: /cena/ a sčítať s /dorucenie/ následne sčítanú sumu vypísať php kóde namiesto.: echo $radek["cena"]
PHP kód:
<?php 

    $server   
"xxxx.xx:xxxx";
    
$uzivatel "xxxx";
    
$heslo    "xxx";
    
$databaze "testtu1";
//  Krok 1: Vytvoření připojení
    
$spojeni  mysqli_connect($server$uzivatel$heslo$databaze);
    if(!
$spojeni)
    {
      echo 
'Spojení s mysql serverem se nepodařilo navázat.<br>';
    }
    else
    {
//      echo 'Spojení s mysql serverem bylo úspěšně navázáno.<br>';
//  Krok 2: Sestavení a odeslání dotazu

      
mysqli_set_charset($spojeni"utf8");
      
$dotaz mysqli_query($spojeni"SELECT * FROM `jeden`  ORDER BY `cena` DESC,`uzivatele_id` ASC LIMIT 3 ");
     
      if(!
$dotaz)
      {
        echo 
'Dotaz vykazuje chybu.<br>';
      }
      else
      {
//        echo 'Dotaz byl úspěšně vykonán.<br>';
//  Krok 3: Zpracování výsledku dotazu
        
while($radek mysqli_fetch_array($dotaz))
        
        {  
        
        
          echo 
"Meno: " $radek["Meno"] . " " $radek["cena"] . "-€" " Dátum: " $radek["Dátum"] . "<br>";
        
        }
      }
    }
//  Krok 4: Odpojení od databáze
    
$zavreni mysqli_close($spojeni);
    if(!
$zavreni)
    {
      echo 
'Spojení s mysql serverem se nepodařilo ukončit.';
    }
    else
    {
//      echo 'Spojení s mysql serverem se podařilo ukončit.';
    
}
 
?>
Za ochotu a pomoc vopred ďakujem.

Co se právě děje na Webtrhu?

27.02.2021 14:58
2
Už jenom ten dotaz do databáze je podivnej
Kód:
"SELECT * FROM `jeden`  ORDER BY `cena` DESC,`uzivatele_id` ASC LIMIT 3"
Pokud chceš něco sčítat ze dvou tabulek, tak ty dvě tabulky musejí mít nějaký stejný prvek. V tomto případě např. 'uzivatele_id'. Pomocí toho si vytvoříš dva dotazy do databáze. Jeden do první tabulky a druhý do druhé tabulky. Např. takto:
Kód:
SELECT * FROM tabulka1 WHERE uzivatele_id = 1234
Poté místo echo si to uložíš do proměné
Kód:
$cena_tabulka1 = $radek["cena"];
a to samé s druhým dotazem pro druhou tabulku
následně si můžeš vše sečíst a vypsat:
Kód:
$vysledna_cena = $cena_tabulka1 + $cena_tabulka2;
echo $vysledna_cena;
A nejlepší postup je použít jen jeden dotaz do databáze a spojit si tabulky do jedné např. pomocí JOIN více zde:
https://www.w3schools.com/sql/sql_join.asp