Vorhandene Tel.-Nr. erkennen und ausgeben.

icefire

Erfahrenes Mitglied
Hallo!
Aus meiner Datenbank frage ich unter anderem auch die Telefonnummern ab. Wie es nunmal so üblich ist, werden nicht alle Nummern angegeben (weil auch nicht immer vorhanden) sondern mal nur Festnetz oder nur Mobil. Nun möchte ich nicht in der Tabelle eine freie Lücke haben:

Telefon: oder 0177-1234567

sondern nur die tatsächlich vorhandenen Nummern! Mein Code gibt aber nur problemlos die Daten aus, wenn beide Nummern vorhanden sind! Was habe ich übersehen?

PHP:
/*  Rufnummernanzeige Festnetz */
if($data[urdat_tel]==""){$tel1 = ""; $telx1 = false;}else{
$tel1 = $data[urdat_tel]." - ".$data[urdat_tel2];
$telx1 = true;}

/* Rufnummernanzeige Mobilnetz */
if($data[urdat_mobil]=="" || $telx1 == false){$tel1 = "";}else{
$tel1 = $data[urdat_mobil]." - ".$data[urdat_mobil2];
$telx2 = true;}

/* Rufnummernanzeige Fest-/Mobilnetz */
if($telx1 == true || $telx2 == true){
$tel1 = $data[urdat_tel]." - ".$data[urdat_tel2].'<span class="list2"> oder </span>'.$data[urdat_mobil]." - ".$data[urdat_mobil2];}
 
Hallo,
meiner Meinung nach brauchst Du eine &-Verknüpfung für den Fall das beide Nummern Da sind und eine ||-Verknüpfung falls nur eine Da ist, dann lässt Du eben nur die eine schreiben.

mfg
Patrick
 
Stimmt, das & habe ich übersehen! Mit dieser Änderung wird, wenn die erste Nummer nicht angegeben ist, die 2te angezeigt. Wenn beide Nummer vorhanden sind werden auch beide Nummern ausgegeben. Jetzt läuft das nur noch nicht mit der ersten Schleife! :(
 
Wie wäre es hiermit?
PHP:
$tel = array();

if (!empty($data['urdat_tel'])) $tel[] = $data['urdat_tel'].' - '.$data['urdat_tel2'];
if (!empty($data['urdat_mobil'])) $tel[] = $data['urdat_mobil'].' - '.$data['urdat_mobil2'];

$tel1 = join('<span class="list2"> oder </span>', $tel);
 
Hammer! :suspekt:
An ein Array() hab ich ehrlich gesagt garnicht gedacht - dagegen sehen die if() Schleifen wie Steinzeitcodes aus! :-(

Vielen Dank! :)
 
Zurück