Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Jak převést data z sql databáze na php proměnou?

Aktivity
Avatar
Jindra Rehak
Člen
Avatar
Jindra Rehak:3.6.2020 10:30

Dobrý den,
nevím si rady, jak použít data z databáze a nadále s nimi pracovat. Je jednoduché je vypsat a vyfiltrovat, ale nevím, jak s nimi už např.: počítat. Chtěl bych je převést na proměnou, aby jsem mohl s nimi pracovat. Data co mám uložena v sql databázi pod "reka" je jen jedno datum s typem datatime.
Předem děkuji za odpověď. S pozdravem Jindřich Řehák.

Zkusil jsem: <?php
$mysqli = new mysqli('*****­.forpsi.com', 'f12****', 'K6*****', 'f12****');

if ($mysqli->connect_error) {
die('Connect Error (' . $mysqli->connect_errno . ') '
. $mysqli->connect_error);
}

$mysqli->set_charset("ut­f8");

?>

<h4>Rekalibra­ce:</h4>

<?php
$date1 = new DateTime();

?>
<?php

$q = "SELECT * FROM FCC";
$res = $mysqli->query($q);
if ($res) {
while ($data = $res->fetch_object()) {
echo "<h2>$data->id</a></h2>";

>>>>>>Do tohoto místa kód funguje<<<<<<<<<<­<<<<<<<<<<<<<<<<<<<<

$uvodnidatum = $data->reka ///////////Hlavní problém\\\\\\\\\

$datesoucet = $uvodnidatum->diff($date1);
echo $datesoucet->format('%a');
echo " dní od minulé kalibrace.";

date_add($uvod­nidatum, date_interval_cre­ate_from_date_strin­g('2 years'));

if ($date1 > $uvodnidatum) {
echo '<h2 style="color:red;">PO­ZOR!!</h2>';
} elseif ($date1 < $uvodnidatum) {
echo '<h5 style="color:gre­en;">V POŘÁDKU</h5>';
} else {
echo "CHYBA!!";
}
}
}
else {
echo $mysqli->error;
echo "<pre>$q</pre>";
}

?>

Chci docílit: Snažím se dosáhnou toho, aby když technik v databázi změní datum. Tak na webu se změnil i počet dní od datumu (odpočítavadlo). Podle datumu se také mění i hláška(k proměnný se přidají dva roky). Když je datum do dvou let tak, tak hlaska je: "V POŘÁDKU", pokud to přesáhne, tak hláška je: "POZOR".

 
Odpovědět
3.6.2020 10:30
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:3.6.2020 13:53

0. Co jsi nasel googlem nebo v manualu php?

  1. nezkracuj si nazvy dulezitych promennych pod 3 znaky. Pak se v tom spatne orientuje
  2. napis si to nejak inteligentne
  3. data fetchem vytahujes do pole nebo do objektu? fetch_object neni tam treba jeste fetch_array?
https://www.php.net/manual/en/function.mysqli-fetch.php
https://www.php.net/manual/en/mysqli-stmt.fetch.php
$stmt->fetch()
https://www.php.net/manual/en/mysqli.examples-basic.php
$actor = $result->fetch_assoc()
https://www.php.net/manual/en/class.mysqli-result.php
fetch_all ([ int $resulttype = MYSQLI_NUM ] ) : mixed
fetch_array ([ int $resulttype = MYSQLI_BOTH ] ) : mixed
fetch_assoc ( void ) : array
fetch_field_direct ( int $fieldnr ) : object
fetch_field ( void ) : object
fetch_fields ( void ) : array
fetch_object ([ string $class_name = "stdClass" [, array $params ]] ) : object
fetch_row ( void ) : mixed

4. pro psani kodu na forku pouzil

$q = "SELECT * FROM FCC";
$res = $mysqli->query($q);
if ($res) {
while ($data = $res->fetch_object()) {
echo "<h2>$data->id</h2>";

// --------

$query = "SELECT * FROM FCC";
$result = $mysqli->query($query );
if ($result)
    {
    while ($row = result->fetch_object()!==false)
        {
        echo "<h2>$row->id</h2>";
        //echo "<h2>$row{'id'}</h2>";
// https://www.php.net/manual/en/language.oop5.iterations.php
        foreach($row as $key => $value)
            {
            echo "<h2>$value</h2>";
            //echo "<h2>$row{$key}</h2>";
            }
        }

    while ($row = result->fetch_all(MYSQLI_ASSOC)!==false) //https://www.php.net/manual/en/mysqli-result.fetch-all.php | https://www.php.net/manual/en/mysqli-result.fetch-array.php
        {
        echo "<h2>$row['id']</h2>";
        foreach($row as $key => $value)
            {
            echo "<h2>$value</h2>";
            //echo "<h2>$row[$key]</h2>";
            }
        }
    }
Akceptované řešení
+20 Zkušeností
Řešení problému
 
Nahoru Odpovědět
3.6.2020 13:53
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:3.6.2020 13:59

Jo, tim inteligentne myslim, to pojmenovani promennych spravne. q, query, res, result, data = row, radek tabulky.

query - z databaze vytahne jakysi shluk dat
fetch a jine funkce - ty data pretransformuji na php promenne typu objekt nebo pole.
Chci rici, ze tva veta, zmenit promenou na promenou nedava logicky smysl, pak je obtizne te pochopit. Ty potrebujes zmenit typ promenne. Predpokladam, ze mas zaklady programovani a vis, co je slovo typ a slovo promenna. Nedava smysl, ze se v tom muzes splesl. :)

 
Nahoru Odpovědět
3.6.2020 13:59
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.