Autor Zpráva
matlala
Profil
ahoj,
mám problém s výpisem z DB, když vypisuju tak se zobrazují data tam kde nemají. Výpis se provádí do nápovědy v JS, ale to není podstatné, nevypisuje se to jak má, třeba když se má zukázat vek a datum narozeni a uživatel to nema nastaveno na oboji tak se jim da věk predchoziho uživatele.

script je.
<?php
$testvano = 0;
mysql_query("SET NAMES 'cp1250';");
$vysledky=mysql_query("SELECT * FROM uzivatele order by datum_registrace desc limit 10");
$kolikjezaznamu = mysql_num_rows($vysledky);
while ($zaznamy=MySQL_Fetch_Array($vysledky)){
$datereg = $zaznamy["datum_registrace"];
$rok_reg = substr($datereg, 0, 4);
$mesic1_reg = substr($datereg, 5, 1);
$mesic2_reg = substr($datereg, 6, 1);
if($mesic1_reg==0){$mesic_reg=$mesic2_reg;}else{$mesic_reg=$mesic1_reg .$mesic2_reg;}
$den1_reg = substr($datereg, 8, 1);
$den2_reg = substr($datereg, 9, 1);
if($den1_reg==0){$den_reg=$den2_reg;}else{$den_reg=$den1_reg.$den2_reg ;}
$cas_reg = substr($datereg, 11, 8);
$datum_registrace = "<strong>Registrace: </strong>".$den_reg.".".$mesic_reg.".".$rok_reg." ".$cas_reg."<br>";

if($zaznamy["id"]==1){$codela="<strong>Funkce: </strong>".$moje_adminitratorska_a_tvurcovska_funkce."<br>";$delka2=",  250";}else{$delka2=", 190";}
$m_z="<strong>Pohlaví: </strong>".$zaznamy["pohlavi"]."<br>";
if(JePrihlaseny()==true or $zaznamy["id"]==1){
if($zaznamy["prave_jmeno"]==true){$first_name="<strong>Jméno: </strong>".$zaznamy["prave_jmeno"]."<br>";}
if($zaznamy["prave_prijmeni"]==true){$tvo_name="<strong>Příjmení: </strong>".$zaznamy["prave_prijmeni"]."<br>";}
if($zaznamy["datumnarozeni"]!="0000-00-00"){
$datum_x = $zaznamy["datumnarozeni"];
$rok = substr($datum_x, 0, 4);
$mesic = substr($datum_x, 5, 2);
$den = substr($datum_x, 8, 2);
$veka=zjistiVek($den,$mesic,$rok);
$date_f = $zaznamy["datumnarozeni"];
$rok_a = substr($date_f, 0, 4);
$mesic1 = substr($date_f, 5, 1);
$mesic2 = substr($date_f, 6, 1);
if($mesic1==0){$mesic_a=$mesic2;}else{$mesic_a=$mesic1.$mesic2;}
$den1 = substr($date_f, 8, 1);
$den2 = substr($date_f, 9, 1);
if($den1==0){$den_a=$den2;}else{$den_a=$den1.$den2;}
$nove_datum_a = $den_a.".".$mesic_a.".".$rok_a;

$roky=$veka;
if($zaznamy["zobrazit_vek_or_datnar_or_vse"]=="vek"){
$vekanar2="<strong>Věk: </strong>".$roky." let";
}
elseif($zaznamy2["zobrazit_vek_or_datnar_or_vse"]=="datum"){
$vekanar2="<strong>Datum narození: </strong>".$nove_datum_a;
}
elseif($zaznamy["zobrazit_vek_or_datnar_or_vse"]=="oboji"){
$vekanar2="<strong>Věk: </strong>".$roky." let<br><strong>Datum narození: </strong>".$nove_datum_a;
}
}
}
echo "<a href=\"http://aquagarden.ic.cz/uzivatel/".$zaznamy["id"]."/\" onMouseover=\"ddrivetip('".$datum_registrace.$m_z.$codela.$first_name. $tvo_name.$vekanar2."'".$delka2.")\" onMouseout=\"hideddrivetip()\">".$zaznamy["jmeno"]."</a>";
$testvano++;
if ($testvano < $kolikjezaznamu) {echo ", ";} else {echo".";}
}
?>


neumím najít chybu, mužete mi poradit? Proměné jsou unikátní v jiném výpisu nejsou takže co s tím je.
matlala
Profil
zkrátka to nevypisuje udaje ktere nemusi byt vyplněny a jejich vyplneni se testuje if(zaznam["polozka"]==true)
matlala
Profil
a nefunguje ani if($zaznamy["prave_jmeno"]!="")

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: