Autor Zpráva
jtfcobra
Profil
Ahoj potrebuji na strance prenest udelat vypis promene pomoci echo $V9s a nejde poradite na tuty to bude kravinka



$db = mysql_connect($hostname_test, $username_test, $password_test);
$hledat= $_GET["meridlo"];
$datum=$_GET["rok"]."-".$_GET["mesic"]."-02";
mysql_select_db($database_test,$db);
$vysledek = mysql_query($result); // provedení sql dotazu 
if(!$data=mysql_query("SELECT * FROM merenisystem.spotreba_rucni WHERE `DATUM` LIKE '%".$datum."%'  ",$db)) 
    {echo "<h2>Nepodařilo se připojit k tabulce zbozi.</h2>\n"; break;}

while ($zaznam = mysql_fetch_array($data)){
$V9s=$zaznam["V9"];
$V10s=$zaznam["V10"];
$V11s=$zaznam["V11"];
$V12s=$zaznam["V12"];
$V13s=$zaznam["V13"];
$V14s=$zaznam["V14"];
$V15s=$zaznam["V15"];
$V16s=$zaznam["V16"];
$V18s=$zaznam["V18"];
$V19s=$zaznam["V19"];
$V20s=$zaznam["V20"];
$V27s=$zaznam["V27"];
$V28s=$zaznam["V28"];
$V29s=$zaznam["V29"];
$V30s=$zaznam["V30"];
$V31s=$zaznam["V31"];
$V32s=$zaznam["V32"];
$V33s=$zaznam["V33"];
$V34s=$zaznam["V34"];
$V37s=$zaznam["V37"];
}
echo $V9s;
mysql_close($db);
Joker
Profil
jtfcobra:
A s čím je problém? Kromě toho, že ten kód nedává moc smysl (jednak není moc důvod rozkopírovávat pole do proměnných a jednak tak jak je to napsané to vypíše jen poslední položku).
Mike8748
Profil
jtfcobra:
když to "nejde" tak to oprav.

nebo napiš co ti na tom nejde, co to dělá/nedělá/má dělat. propis problému "nejde" je opravdu nedostačující.
jtfcobra
Profil
Joker:
Pak to budu násobit atd ....ale nejde mi právě přenést to číslo $V9s a ani v echu ho nevypisu


Mike8748:

jak říkám dám dotaz na mysql to odpovi zpravne ale kdyz dam echo $v9s tak nic

ale když ho dám než uzavřu závorku tak v pohodě divný

 
while ($zaznam = mysql_fetch_array($data)){
$V9s=$zaznam["V9"];
echo $V9s;
$V10s=$zaznam["V10"];
$V11s=$zaznam["V11"];
$V12s=$zaznam["V12"];
$V13s=$zaznam["V13"];
$V14s=$zaznam["V14"];
$V15s=$zaznam["V15"];
$V16s=$zaznam["V16"];
$V18s=$zaznam["V18"];
$V19s=$zaznam["V19"];
$V20s=$zaznam["V20"];
$V27s=$zaznam["V27"];
$V28s=$zaznam["V28"];
$V29s=$zaznam["V29"];
$V30s=$zaznam["V30"];
$V31s=$zaznam["V31"];
$V32s=$zaznam["V32"];
$V33s=$zaznam["V33"];
$V34s=$zaznam["V34"];
$V37s=$zaznam["V37"];
}
mysql_close($db);
Joker
Profil
jtfcobra:
Pak to budu násobit atd
A to s položkou pole nejde?

ani v echu ho nevypisu
Tak třeba v poslední položce ta hodnota není vyplněná. Nebo ten dotaz nic nevybere.

Jinak (pravděpodobných- nemáme moc informací) chyb tam je spousta:
• Za prvé při komunikaci s databází se jen na jednom místě (ř. 6) reaguje na případnou chybu, i když i ty ostatní požadavky mohou skončit chybou.
• Na ř. 5 se používá proměnná $result, která v uvedeném kódu není definovaná.
• Hodnoty získané z GETu se posílají do databáze bez jakékoliv kontroly.
• Použití textového porovnávání na sloupec s názvem DATUM je buď chyba dotazu, nebo chyba při návrhu databáze.
• Názvy sloupců V9, V10, … zavánějí chybou při návrhu databáze.
• Jak jsem už psal, i pokud vše ideálně funguje, aktuální kód v cyklu projde všechny vybrané záznamy, všechny hodnoty zahodí a vypíše jen poslední záznam. Dost neefektivní způsob.
• mysql_* funkce jsou zastaralé a neměly by se pro nové projekty používat.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: