Reputation: 67
i am using some easy PHP - PDO to get data from my database, its nothing special in my opinion but the thing is for display data i need to get them from 3 different tables, so i make something like this:
public function fetchByVinAxnmrss($con) {
$success = false;
//$this->vin = "KMHLC81UACU021096";
if($this->vin){
try{
$sql = "SELECT * FROM axnmrs_cases WHERE vin = :vin LIMIT 30";
$stmt = $con->prepare( $sql );
$stmt->bindValue( "vin", $this->vin, PDO::PARAM_STR );
$stmt->execute();
while ($row = $stmt->fetch()){
echo"<tr>";
echo "<td class='number'>".$row['claimnumber']."</td>";
// Remove time from date
$date = substr($row['date_created'], 0, -9);
echo "<td class='city'>".$date."</td>";
//echo "<td class='street'>Axnmrs</td>";
// Which Insurer work on it?
switch ($row['insurer_memberid']) {
case "MM-O-37C4CD31-1":
echo "<td class='case'>Allianz</td>";
break;
case "MM-O-A44710BB-1":
echo "<td class='case'>Allianz</td>";
break;
case "MM-O-49A8CA6F-1":
echo "<td class='case'>Allianz</td>";
break;
case "MM-O-C729378F":
echo "<td class='case'>AXA</td>";
break;
case "MM-O-D2C1CC5":
echo "<td class='case'>AXA</td>";
break;
case "MM-O-FADFB9B5":
echo "<td class='case'>AXA</td>";
break;
case "MM-O-3EC11A4B":
echo "<td class='case'>AXA</td>";
break;
case "MM-O-2F2D436F":
echo "<td class='case'>AXA</td>";
break;
case "MM-O-C81D91E1":
echo "<td class='case'>Česká podnikatelská pojišťovna</td>";
break;
case "MM-O-80E4AE2F":
echo "<td class='case'>Česká podnikatelská pojišťovna Breclav</td>";
break;
case "MM-O-F4C8228F":
echo "<td class='case'>Česká podnikatelská pojišťovna Ceska Lipa</td>";
break;
case "MM-O-8B7BBE0F":
echo "<td class='case'>Česká podnikatelská pojišťovna Ceske Budejovice</td>";
break;
case "MM-O-20ACAE0F":
echo "<td class='case'>Česká podnikatelská pojišťovna Havlikuv brod</td>";
break;
case "MM-O-9DAC6D6F":
echo "<td class='case'>Česká podnikatelská pojišťovna Hradec Kralove</td>";
break;
case "MM-O-AA1D5C5B":
echo "<td class='case'>Česká podnikatelská pojišťovna Jihlava</td>";
break;
case "MM-O-98495A0F":
echo "<td class='case'>Česká podnikatelská pojišťovna Karlovy Vary</td>";
break;
case "MM-O-A028272F":
echo "<td class='case'>Česká podnikatelská pojišťovna Kladno</td>";
break;
case "MM-O-2B1B1B45":
echo "<td class='case'>Česká podnikatelská pojišťovna Katlovy</td>";
break;
case "MM-O-F0CFDD29":
echo "<td class='case'>Česká podnikatelská pojišťovna Liberec</td>";
break;
case "MM-O-F3D7CEDF":
echo "<td class='case'>Česká podnikatelská pojišťovna Marianske lazne</td>";
break;
case "MM-O-3EC11A4B":
echo "<td class='case'>Česká podnikatelská pojišťovna Most</td>";
break;
case "MM-O-55DF5BCD":
echo "<td class='case'>Česká podnikatelská pojišťovna Olomouc</td>";
break;
case "MM-O-E5BE065D":
echo "<td class='case'>Česká podnikatelská pojišťovna Ostrava</td>";
break;
case "MM-O-C632870B":
echo "<td class='case'>Česká podnikatelská pojišťovna Plzen</td>";
break;
case "MM-O-8B7CCFF9":
echo "<td class='case'>Česká podnikatelská pojišťovna Praha</td>";
break;
case "MM-O-FA9D9AAF":
echo "<td class='case'>Česká podnikatelská pojišťovna Strakonice</td>";
break;
case "MM-O-3E1A67B9":
echo "<td class='case'>Česká podnikatelská pojišťovna Tabor</td>";
break;
case "MM-O-CF600685":
echo "<td class='case'>Česká podnikatelská pojišťovna Teplice</td>";
break;
case "MM-O-55DCBE4F":
echo "<td class='case'>Česká podnikatelská pojišťovna Usti nad Labem</td>";
break;
case "MM-O-5BDB486F":
echo "<td class='case'>Česká podnikatelská pojišťovna Zlin</td>";
break;
case "MM-O-56FBC8EB":
echo "<td class='case'>Česká pojišťovna - Slovensko</td>";
break;
case "MM-O-B5FD6799":
echo "<td class='case'>Česká pojišťovna - Slovensko</td>";
break;
case "MM-O-72C6FD4F":
echo "<td class='case'>Česká pojišťovna</td>";
break;
case "MM-O-B09CAD4F":
echo "<td class='case'>Česká pojišťovna</td>";
break;
case "MM-O-8484AD31-1":
echo "<td class='case'>Česká pojišťovna</td>";
break;
case "MM-O-5D6CBE83":
echo "<td class='case'>Česká pojišťovna</td>";
break;
case "MM-O-4850B095":
echo "<td class='case'>Česká pojišťovna</td>";
break;
case "MM-O-49A8CA6F-2":
echo "<td class='case'>Česká pojišťovna</td>";
break;
case "MM-O-869DC2EF":
echo "<td class='case'>Česká pojišťovna</td>";
break;
case "MM-O-E390390F":
echo "<td class='case'>Ceská stavební s.r.o.</td>";
break;
case "MM-O-7EB15A0F":
echo "<td class='case'>ČSOB Pojišťovna</td>";
break;
case "MM-O-679147C3":
echo "<td class='case'>Česká pojišťovna</td>";
break;
case "MM-O-8484AD31-2":
echo "<td class='case'>Česká pojišťovna</td>";
break;
case "MM-O-8484AD31":
echo "<td class='case'>Česká pojišťovna</td>";
break;
case "MM-O-78EFD7AF":
echo "<td class='case'>Česká pojišťovna</td>";
break;
case "MM-O-4850B095-1":
echo "<td class='case'>Česká pojišťovna</td>";
break;
case "MM-O-F79C266F":
echo "<td class='case'>Česká pojišťovna</td>";
break;
case "MM-O-DB6C8E89":
echo "<td class='case'>Česká podnikatelská pojišťovna</td>";
break;
case "MM-O-FB6CEE51":
echo "<td class='case'>CSAD Frydek Mistek</td>";
break;
case "MM-O-4344884F":
echo "<td class='case'>CSAD Turnov</td>";
break;
case "MM-O-171245CF":
echo "<td class='case'>CSAD Praha</td>";
break;
case "MM-O-8A8C017E":
echo "<td class='case'>ČSOB Pojišťovna</td>";
break;
case "MM-O-41DAE04F":
echo "<td class='case'>ČSOB Pojišťovna</td>";
break;
case "MM-O-7F5A43CF":
echo "<td class='case'>ČSOB Pojišťovna</td>";
break;
case "MM-O-BF07BC5F":
echo "<td class='case'>ČSOB Pojišťovna Brno</td>";
break;
case "MM-O-7EB15A0F":
echo "<td class='case'>ČSOB Pojišťovna</td>";
break;
case "MM-O-2928FDCF":
echo "<td class='case'>ČSOB Pojišťovna</td>";
break;
case "MM-O-1C8C77EF":
echo "<td class='case'>ČSOB Pojišťovna</td>";
break;
case "MM-O-F2E015AB":
echo "<td class='case'>ČSOB Pojišťovna</td>";
break;
case "Member_C29D87ED-4B6B-3617":
echo "<td class='case'>Experta</td>";
break;
case "MM-O-DF0368E1":
echo "<td class='case'>Experta Assistance</td>";
break;
case "MM-O-45A3932F":
echo "<td class='case'>Generali Poistovna</td>";
break;
case "MM-O-37C4CD31-2":
echo "<td class='case'>Generali</td>";
break;
case "MM-O-6972ED53":
echo "<td class='case'>Global Expert</td>";
break;
case "MM-O-5D6CBE83-1":
echo "<td class='case'>Global Expert</td>";
break;
case "MM-O-8AB24F6D-1":
echo "<td class='case'>Global Expert</td>";
break;
case "MM-O-49A8CA6F-4":
echo "<td class='case'>Global Expert</td>";
break;
case "MM-O-22AC8AF1":
echo "<td class='case'>Global Expert</td>";
break;
case "MM-O-22AC8AF1-1":
echo "<td class='case'>Global Expert</td>";
break;
case "MM-O-966DD32F":
echo "<td class='case'>Global Expert</td>";
break;
case "MM-O-B51C9EF":
echo "<td class='case'>Global Expert</td>";
break;
case "MM-O-FA6792AF":
echo "<td class='case'>Global Expert</td>";
break;
case "MM-O-B6239C27":
echo "<td class='case'>Kooperativa</td>";
break;
case "MM-O-190AEE2F":
echo "<td class='case'>Kooperativa SR</td>";
break;
case "MM-O-A57BD32F":
echo "<td class='case'>Poistovna</td>";
break;
case "MM-O-268FF80F":
echo "<td class='case'>Poistovna s.r.o</td>";
break;
case "MM-O-69DD8991":
echo "<td class='case'>Policie CR</td>";
break;
case "MM-O-DE75662B":
echo "<td class='case'>Uniqa</td>";
break;
case "MM-O-5B57274F":
echo "<td class='case'>Uniqa pojišťovna</td>";
break;
case "MM-O-4850B095-2":
echo "<td class='case'>Uniqa pojišťovna</td>";
break;
case "MM-O-5748D9EF":
echo "<td class='case'>Uniqa pojišťovna</td>";
break;
case "MM-O-D49AADF1":
echo "<td class='case'>Uniqa pojišťovna</td>";
break;
case "MM-O-2ED3E46F":
echo "<td class='case'>Uniqa pojišťovna</td>";
break;
case "MM-O-C7592B8F":
echo "<td class='case'>Uniqa pojišťovna SK</td>";
break;
case "MM-O-616E3D01":
echo "<td class='case'>Wüstenrot</td>";
break;
case "MM-O-8ADCAA4B":
echo "<td class='case'>Wüstenrot</td>";
break;
case "MM-O-BDD15299":
echo "<td class='case'>Wüstenrot</td>";
break;
case "MM-O-22401A8F":
echo "<td class='case'>Wüstenrot</td>";
break;
case "MM-O-5568720F":
echo "<td class='case'>Slavia pojišťovna</td>";
break;
case "MM-O-26D1C0EF":
echo "<td class='case'>Servisní pojišťovna</td>";
break;
case "MM-O-D45A6DEF":
echo "<td class='case'>Triglav Pojišťovna</td>";
break;
case "MM-O-26D1C0EF":
echo "<td class='case'>Servisní pojišťovna</td>";
break;
default:
echo "<td class='case'>Servis</td>";
}
echo "<td class='country'>".$row['country']."</td>";
echo "<td class='action'><button class='btn btn-flat btn-view'><span class='glyphicon glyphicon-eye-open' title='Show Detail'></span></button></td>";
echo"</tr>";
echo"<tr class='detail'>";
echo"<td colspan='6'>";
echo "<div class='case-detail row'>";
echo "<div class='col-xs-6 col-md-3'>";
echo"<dl>";
// What parts are used
echo "<dt>Použité náhradní díly</dt>";
if ($row['part_supplier']=1){
echo "<dd>Originální</dd>";}
else{
echo "<dd>Alternativní</dd>";}
echo "<dt>Datum vytvoření případu</dt>";
echo "<dd>".$row['date_created']."</dd>";
echo "<dt>SPZ</dt>";
echo "<dd>".$row['platenumber']."</dd>";
echo "<dt>Totální škoda</dt>";
if (empty($row['totalloss'])){
echo $row['totalloss'];
echo "<dd>Ne</dd>";}
else{
echo "<dd>Ano</dd>";}
echo "<dt>VIN</dt>";
echo "<dd>".$row['vin']."</dd>";
$this->manufacturer_code = $row['lastcalc_manufacturer_code'];
$this->main_type = $row['lastcalc_model_code'];
$this->subtype_code = $row['lastcalc_submodel_code'];
echo "<dt>Druh vozidla</dt>";
echo "<dd>".$this->getCarType()."</dd>";
echo"</dl>";
echo"</div>";
// DRUHY STLPEC
echo"<div class='col-xs-6 col-md-3'>";
echo"<dl>";
echo "<dt>Identifikace vozidla pomocí AudaVIN</dt>";
if (isset($row['audavin_trigged'])){
echo "<dd>Ano</dd>";}
else{
echo "<dd>Ne</dd>";}
// DATUM NEHODY
echo "<dt>Datum nehody</dt>";
if ($row['accident_date'] == "0000-00-00 00:00:00"){
echo "<dd>Neni k dispozici</dd>";
}
else{
echo "<dd>".$row['accident_date']."</dd>";
}
// DATUM REGISTRACE VOZIDLA
echo "<dt>Datum registrace vozidla</dt>";
if ($row['registration_date'] == "0000-00-00 00:00:00"){
echo "<dd>Neni k dispozici</dd>";
}
else{
echo "<dd>".substr($row['registration_date'], 0, 10)."</dd>";
}
echo"</dl>";
echo"</div>";
$this->case = $row['case_id'];
/*
try{
$sql = "SELECT * FROM axnmrs_calculations WHERE case_id = :case LIMIT 100";
$stmt = $con->prepare( $sql );
$stmt->bindValue( "case", $this->case, PDO::PARAM_STR );
$stmt->execute();
while ($row = $stmt->fetch()){
$this->calculationid = $row['calculation_id'];
echo "<dt>Cena náhradních dílů</dt>";
echo "<dd>".$row['spareparts']."</dd>";
echo "<dt>Celkové náklady</dt>";
echo "<dd>".$row['totalcosts']."</dd>";
echo"</dl>";
echo"</div>";
echo"<div class='col-xs-6 col-md-3'>";
echo"<dl>";
echo "<dt>Celkový počet hodin práce</dt>";
echo "<dd>".$row['laborhours']."</dd>";
echo "<dt>Datum vytvoření kalkulace</dt>";
echo "<dd>".substr($row['calculationdate'], 0, 17)."</dd>"; // ODSTRANIT 0000
echo "<dt>Lakovací materiál</dt>";
echo "<dd>".$row['paintmaterial']."</dd>";
echo "<dt>Náklady na práci</dt>";
echo "<dd>".$row['laborcosts']."</dd>";
echo "<dt>Náklady na lakování</dt>";
echo "<dd>".$row['paintlabor']."</dd>";
echo "<dt>Měna</dt>";
echo "<dd>".$row['currency']."</dd>";
echo"</dl>";
echo"</div>";
}
}catch(PDOExeption $e){
echo $e->getMessage();
echo $con->errorInfo();
}
*/
echo"<div class='col-xs-6 col-md-3'>";
echo"<dl>";
echo "<dt>Seznam použitých náhradních dílů </dt>";
//$this->calculationid = $row['calculation_id'];
try{
$sql = "SELECT * FROM axnmrs_positions WHERE calculation_id = :calculationid LIMIT 60";
$stmt = $con->prepare( $sql );
$stmt->bindValue( "calculationid", $this->calculationid, PDO::PARAM_STR );
$stmt->execute();
while ($row = $stmt->fetch()){
echo "<dd>".$row['text']."</dd>";
}
}catch(PDOExeption $e){
echo $e->getMessage();
echo $con->errorInfo();
}
echo"</dl>";
echo"</div>";
//return $success;
*/
echo"</div>";
echo "</td>" ;
echo "</tr>";
}
}catch(PDOExeption $e){
echo $e->getMessage();
echo $con->errorInfo();
}
return $success;
}
}
I am sure you find it its just same thing all the time, but the problem is i get just one result, dispite the fact it should display more result if i look in a database. So i try to check it step by step and find out that if i comment out other connects on tables it works fine (just dont dispaly results from them ofc) so is here anybody who can help me to fix this isue ? Or give me advise? This is my first project with PDO and OOP so its a bit messy, sorry for that :(
Upvotes: 0
Views: 61
Reputation: 12391
Do we really need this whole switch case thing? And code is not indented nicely, so it's hard to read. But i think, the problem is that, you rewrite the $stmt an $row variables in the loop. Use another name for them in loop.
Upvotes: 2