Autor | Zpráva | ||
---|---|---|---|
jtfcobra Profil |
#1 · Zasláno: 22. 1. 2015, 21:19:21
Zjednoduseni do jednoho mysql dotazu na databazy poradite ? mam jich asi 33 a nechtel bych to mit takle je to mozne napsat jinak?
<?php $db = mysql_connect($hostname_test, $username_test, $password_test); $hledat= "V3"; $hledat2= $_GET["rok"]."-". $_GET["mesic"]."-"; mysql_select_db($database_test,$db); //vytvoření sql dotazu $vysledek = mysql_query($result); // provedení sql dotazu if(!$data=mysql_query("SELECT * FROM meridla WHERE `IDMERAKU` = '".$hledat."' ",$db)) {echo "<h2>Nepodařilo se připojit k tabulce zbozi.</h2>\n"; break;} while ($zaznam = mysql_fetch_array($data)){ $cena19=str_replace(",", ".",$zaznam["CENA"]); } mysql_close($db) ; ?> <?php $db = mysql_connect($hostname_test, $username_test, $password_test); $hledat= "V4"; $hledat2= $_GET["rok"]."-". $_GET["mesic"]."-"; mysql_select_db($database_test,$db); //vytvoření sql dotazu $vysledek = mysql_query($result); // provedení sql dotazu if(!$data=mysql_query("SELECT * FROM meridla WHERE `IDMERAKU` = '".$hledat."' ",$db)) {echo "<h2>Nepodařilo se připojit k tabulce zbozi.</h2>\n"; break;} while ($zaznam = mysql_fetch_array($data)){ $cena20=str_replace(",", ".",$zaznam["CENA"]); } mysql_close($db) ; ?> <?php $db = mysql_connect($hostname_test, $username_test, $password_test); $hledat= "V5"; $hledat2= $_GET["rok"]."-". $_GET["mesic"]."-"; mysql_select_db($database_test,$db); //vytvoření sql dotazu $vysledek = mysql_query($result); // provedení sql dotazu if(!$data=mysql_query("SELECT * FROM meridla WHERE `IDMERAKU` = '".$hledat."' ",$db)) {echo "<h2>Nepodařilo se připojit k tabulce zbozi.</h2>\n"; break;} while ($zaznam = mysql_fetch_array($data)){ $cena21=str_replace(",", ".",$zaznam["CENA"]); } mysql_close($db) ; ?> <?php $db = mysql_connect($hostname_test, $username_test, $password_test); $hledat= "V6"; $hledat2= $_GET["rok"]."-". $_GET["mesic"]."-"; mysql_select_db($database_test,$db); //vytvoření sql dotazu $vysledek = mysql_query($result); // provedení sql dotazu if(!$data=mysql_query("SELECT * FROM meridla WHERE `IDMERAKU` = '".$hledat."' ",$db)) {echo "<h2>Nepodařilo se připojit k tabulce zbozi.</h2>\n"; break;} while ($zaznam = mysql_fetch_array($data)){ $cena22=str_replace(",", ".",$zaznam["CENA"]); } mysql_close($db) ; ?> <?php $db = mysql_connect($hostname_test, $username_test, $password_test); $hledat= "V30"; $hledat2= $_GET["rok"]."-". $_GET["mesic"]."-"; mysql_select_db($database_test,$db); //vytvoření sql dotazu $vysledek = mysql_query($result); // provedení sql dotazu if(!$data=mysql_query("SELECT * FROM meridla WHERE `IDMERAKU` = '".$hledat."' ",$db)) {echo "<h2>Nepodařilo se připojit k tabulce zbozi.</h2>\n"; break;} while ($zaznam = mysql_fetch_array($data)){ $cena23=str_replace(",", ".",str_replace(",", ".",$zaznam["CENA"])); } mysql_close($db) ; ?> <?php $db = mysql_connect($hostname_test, $username_test, $password_test); $hledat= "V27"; $hledat2= $_GET["rok"]."-". $_GET["mesic"]."-"; mysql_select_db($database_test,$db); //vytvoření sql dotazu $vysledek = mysql_query($result); // provedení sql dotazu if(!$data=mysql_query("SELECT * FROM meridla WHERE `IDMERAKU` = '".$hledat."' ",$db)) {echo "<h2>Nepodařilo se připojit k tabulce zbozi.</h2>\n"; break;} while ($zaznam = mysql_fetch_array($data)){ $cena24=str_replace(",", ".",str_replace(",", ".",$zaznam["CENA"])); } mysql_close($db) ; ?> <?php $db = mysql_connect($hostname_test, $username_test, $password_test); $hledat= "V28"; $hledat2= $_GET["rok"]."-". $_GET["mesic"]."-"; mysql_select_db($database_test,$db); //vytvoření sql dotazu $vysledek = mysql_query($result); // provedení sql dotazu if(!$data=mysql_query("SELECT * FROM meridla WHERE `IDMERAKU` = '".$hledat."' ",$db)) {echo "<h2>Nepodařilo se připojit k tabulce zbozi.</h2>\n"; break;} while ($zaznam = mysql_fetch_array($data)){ $cena25=str_replace(",", ".",str_replace(",", ".",$zaznam["CENA"])); } mysql_close($db) ; ?> <?php $db = mysql_connect($hostname_test, $username_test, $password_test); $hledat= "V29"; $hledat2= $_GET["rok"]."-". $_GET["mesic"]."-"; mysql_select_db($database_test,$db); //vytvoření sql dotazu $vysledek = mysql_query($result); // provedení sql dotazu if(!$data=mysql_query("SELECT * FROM meridla WHERE `IDMERAKU` = '".$hledat."' ",$db)) {echo "<h2>Nepodařilo se připojit k tabulce zbozi.</h2>\n"; break;} while ($zaznam = mysql_fetch_array($data)){ $cena26=str_replace(",", ".",str_replace(",", ".",$zaznam["CENA"])); } mysql_close($db) ; ?> <?php $db = mysql_connect($hostname_test, $username_test, $password_test); $hledat= "V32"; $hledat2= $_GET["rok"]."-". $_GET["mesic"]."-"; mysql_select_db($database_test,$db); //vytvoření sql dotazu $vysledek = mysql_query($result); // provedení sql dotazu if(!$data=mysql_query("SELECT * FROM meridla WHERE `IDMERAKU` = '".$hledat."' ",$db)) {echo "<h2>Nepodařilo se připojit k tabulce zbozi.</h2>\n"; break;} while ($zaznam = mysql_fetch_array($data)){ $cena27=str_replace(",", ".",str_replace(",", ".",$zaznam["CENA"])); } mysql_close($db) ; ?> <?php $db = mysql_connect($hostname_test, $username_test, $password_test); $hledat= "V31"; $hledat2= $_GET["rok"]."-". $_GET["mesic"]."-"; mysql_select_db($database_test,$db); //vytvoření sql dotazu $vysledek = mysql_query($result); // provedení sql dotazu if(!$data=mysql_query("SELECT * FROM meridla WHERE `IDMERAKU` = '".$hledat."' ",$db)) {echo "<h2>Nepodařilo se připojit k tabulce zbozi.</h2>\n"; break;} while ($zaznam = mysql_fetch_array($data)){ $cena28=str_replace(",", ".",$zaznam["CENA"]); } mysql_close($db) ; ?> <?php $db = mysql_connect($hostname_test, $username_test, $password_test); $hledat= "V34"; $hledat2= $_GET["rok"]."-". $_GET["mesic"]."-"; mysql_select_db($database_test,$db); //vytvoření sql dotazu $vysledek = mysql_query($result); // provedení sql dotazu if(!$data=mysql_query("SELECT * FROM meridla WHERE `IDMERAKU` = '".$hledat."' ",$db)) {echo "<h2>Nepodařilo se připojit k tabulce zbozi.</h2>\n"; break;} while ($zaznam = mysql_fetch_array($data)){ $cena29=str_replace(",", ".",$zaznam["CENA"]); } mysql_close($db) ; ?> ?> |
||
tiso Profil |
#2 · Zasláno: 22. 1. 2015, 21:32:21
Čo sa snažíš dosiahnuť? Riadok 7 tam máš ako vzor, alebo kde je premenná
$result ?
|
||
lionel messi Profil |
jtfcobra:
„je to mozne napsat jinak?“ Áno, v záujme tvorby prehľadného kódu a zachovania duševného zdravia programátora pracujúceho s ním je to dokonca potrebné. Začal by som tým, že by som vôbec nevolal mysql_close, prestal mnohonásobne definovať premennú $hledat2 , zavolal connect iba raz (na začiatku). Čo sa týka SQL dotazu, môžeš použiť operátor IN:
SELECT * FROM meridla WHERE `IDMERAKU` IN ('V4', 'V5', 'V6', 'V7', 'V1000', 'V7425') PS: Pred otáznik nepatrí medzera. |
||
jtfcobra Profil |
Takle je to asi kravina co?
<?php require_once('Connections/mereni.php'); $db = mysql_connect($hostname_test, $username_test, $password_test); mysql_select_db($database_test,$db); $vysledek = mysql_query($result); if(!$data=mysql_query("SELECT * FROM meridla ",$db)) {echo "<h2>Nepodařilo se připojit k tabulce zbozi.</h2>\n"; break;} while ($zaznam = mysql_fetch_array($data)){ if ($zaznam["IDMERAKU"]=='V9') { $cena1=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V18') { $cena2=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V19') { $cena3=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V11') { $cena4=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V20') { $cena5=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V16') { $cena6=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V12') { $cena7=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V13') { $cena8=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V14') { $cena9=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V21') { $cena10=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V20') { $cena11=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V23') { $cena12=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V24') { $cena13=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V10') { $cena14=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V7') { $cena15=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V8') { $cena16=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V1') { $cena17=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V2') { $cena18=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V3') { $cena19=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V4') { $cena20=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V5') { $cena21=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V6') { $cena22=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V30') { $cena23=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V27') { $cena24=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V28') { $cena25=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V29') { $cena26=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V32') { $cena27=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V31') { $cena28=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V34') { $cena29=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V33') { $cena30=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V36') { $cena31=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V35') { $cena32=str_replace(",", ".",$zaznam["CENA"]); } if ($zaznam["IDMERAKU"]=='V37') { $cena33=str_replace(",", ".",$zaznam["CENA"]); } } mysql_close($db); ?> Tohle zni dobre SELECT * FROM meridla WHERE `IDMERAKU` IN ('V4', 'V5', 'V6', 'V7', 'V1000', 'V7425') a jak zjistim CENA1(V4),CENA2(V5), atd... |
||
tiso Profil |
#5 · Zasláno: 22. 1. 2015, 22:38:28
jtfcobra: [i]a jak zjistim CENA1(V4),CENA2(V5)
To záleží od toho čo s tým robíš ďalej. Naozaj to potrebuješ mať v takomto formáte? Prečo máš tak zvláštne pomenované tie ceny? |
||
jtfcobra Profil |
Pak pocitam spotrebu ale myslim si ze to mam take zbytecne .....slozite
$ $celkem1=spotřeba $celkemKC1=celková cena <?php $db = mysql_connect($hostname_test, $username_test, $password_test); $hledat= "V9"; $hledat2= $_GET["rok"]."-". $_GET["mesic"]."-"; mysql_select_db($database_test,$db); //vytvoření sql dotazu $vysledek = mysql_query($result); // provedení sql dotazu if(!$data=mysql_query("SELECT SPOTREBA FROM spotreba WHERE `MERAK`='".$hledat."' AND `DATUM` LIKE '%".$hledat2."%' ",$db)) {echo "<h2>Nepodařilo se připojit k tabulce zbozi.</h2>\n"; break;} while ($zaznam = mysql_fetch_array($data)){ $celkem1=$celkem1+str_replace(",", ".",$zaznam["SPOTREBA"]); $celkemKC1=$celkem1*$cena1; } mysql_close($db) ; echo round($celkem1,2); ?> |
||
Alphard Profil |
jtfcobra:
„Poradite?“ Nedá se v tom vyznat... while ($zaznam = mysql_fetch_array($data)){ $celkem1=$celkem1+str_replace(",", ".",$zaznam["SPOTREBA"]); $celkemKC1=$celkem1*$cena1; } Kód z prvního příspěvku je doufám už přepsán. Nebo ještě ne? |
||
Tori Profil |
#8 · Zasláno: 25. 1. 2015, 02:06:48
jtfcobra:
Proč na ukládání desetinných čísel do DB používáte řetězcový typ, místo číselného? Použijte normálně DECIMAL a nemusíte řešit str_replace desetinné čárky za tečku. Formátování (změnit na čárku, mezery mezi tisíci apod.) se dá řešit až při vypisování výsledků (number_format). |
||
Časová prodleva: 8 let
|
0