| 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: 11 let
|
|||
0