php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.07.2004, 11:30  
Gast
 
Beiträge: n/a
Standard If Else Frage

Hi zusammen,

Ich bin gerade dabei mein eigenes Gästebuch zu programmieren. Jetzt hab ich eine kleine Frage:

Code:
if ($row[Home] != ""){
echo "";
}else{
echo "<a target=\"_blank\" href=\"http://". htmlspecialchars($row["Home"]) ."\"><img border=\"0\" src=\"images/url.gif\"></a>";
}
Dieser Code soll mir Anzeigen wenn ich in der Mysql Datenbank unter Home keinen Wert stehen habe soll er keinen Link mit Bild anzeigen wenn ich doch was drinstehen habe dann soll er mir den Link mit dem Bild anzeigen.
Leider funzt das ganze so nicht und ich komm einfach nicht drauf was falsch ist.

Vielleicht könnt ihr mir weiterhelfen
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 11.07.2004, 11:34  
Gast
 
Beiträge: n/a
Standard Re: If Else Frage

Code:
if ($row[Home] != ""){
echo "";
}else{
echo <a target=\"_blank\" href=\"http://". htmlspecialchars($row["Home"]) ."\"><img border=\"0\" src=\"images/url.gif\"></a>";
}
Du hast die If-Anweisung verkehrt aufgebaut:

Code:
if ($row['Home']==""){
    echo "";
} else {
       echo "<a target=\"_blank\" href=\"http://".htmlspecialchars($row["Home"]) ."\"><img border=\"0\"src=\"images/url.gif\"></a>";
}
//EDIT
Dabke Zorki
 
Alt 11.07.2004, 11:34  
Gast
 
Beiträge: n/a
Standard

Ich verbesser einfach mal:

if ($row["Home"] == ""){
echo "";
} else {
echo "<a target=\"_blank\" href=\"http://". htmlspecialchars($row["Home"]) ."\"><img border=\"0\" src=\"images/url.gif\"></a>";
}

Das sollte jetzt zumindestens funktionieren. ein Tipp: Wenn du hier Fragen stellst, dann schreib dazu was passiert. Denn dass es nicht geht können wir uns denken.
 
Alt 11.07.2004, 11:40  
Gast
 
Beiträge: n/a
Standard

Ok das hab ich inzwischen auch gemerkt, jetzt ist halt das Problem diese If Else Anweisung steht in einer While Schleife hier mal der Code der While Schleife:

Code:
while ($row=mysql_fetch_assoc($result2)) {
echo "<table width=\"500\" align=\"center\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" background=\"../rahmen/gastoben.gif\">
  <tr>
    <td><img border=\"0\" src=\"../images/style/para.gif\" height=\"22\" width=\"1\"></td>
  </tr>
</table>
<table width=\"500\"  align=\"center\" border=\"0\" cellspacing=\"5\" cellpadding=\"8\" background=\"../rahmen/gastmitte.gif\">
  <tr>
    <td width=\"30%\" align=\"center\" valign=\"top\">" . $row["Datum"] . "

" 
 . htmlspecialchars($row["Name"]) . "

";
 if ($row["Home"] != ""){ 
echo ""; 
}else{ 
echo "<a target=\"_blank\" href=\"http://". htmlspecialchars($row["Home"]) ."\"><img border=\"0\" src=\"images/url.gif\"></a>";
} 
 "<a target=\"_blank\" href=\"mailto:". htmlspecialchars($row["Email"]) ."\"><img border=\"0\" src=\"images/email.gif\"></a>
 <a href=\"http://wwp.icq.com/scripts/search.dll?to=". htmlspecialchars($row["Icq"]) ."\"><img border=\"0\" src=\"http://wwp.icq.com/scripts/online.dll?icq=". htmlspecialchars($row["Icq"]) ."&img=5\" align=\"absmiddle\"></a></td>
 <td width=\"70%\" align=\"center\" valign=\"top\">". htmlspecialchars($row["Titel"]) ."

" . nl2br(htmlspecialchars($row["Kommentar"])) . "</td>
 </tr></table>
 <table width=\"500\" border=\"0\" align=\"center\" cellspacing=\"0\" cellpadding=\"0\" background=\"../rahmen/gastunten.gif\">
  <tr>
    <td><img border=\"0\" src=\"../images/style/para.gif\" height=\"22\" width=\"1\"></td>
  </tr>
</table>

";
 } // while Schleife Ende
Problem ist halt wenn ich die If Else Anweisung da reinschreibe verschiebt er mir alle Tabellen und alles weil ich eigentlich vor dem Ende ja kein ; reinsetzen darf weils ja ein "Stück" sein soll
 
Alt 11.07.2004, 11:49  
Gast
 
Beiträge: n/a
Standard

Kann man vielleicht die If Else Abfrage in einer Variable vor der While Schleife speichern und dann nur die Variable in der While Schleife ausgeben ?

Vielleicht geht das ja
 
Alt 11.07.2004, 12:40  
Gast
 
Beiträge: n/a
Standard

Zitat:
Problem ist halt wenn ich die If Else Anweisung da reinschreibe verschiebt er mir alle Tabellen und alles weil ich eigentlich vor dem Ende ja kein ; reinsetzen darf weils ja ein "Stück" sein soll
Das muss man jetzt nicht wirklich verstehen, oder?

Gruß
phpfan
 
Alt 11.07.2004, 12:46  
Gast
 
Beiträge: n/a
Standard

Naja ich bin noch Anfänger, wenn ich die If Else Abfrage in meine While Schleife reinschreibe dann zeigt er mir garnix mehr an bzw verschiebt die Tabelle in der diese If Else Abfrage steht.

Ich hab jetzt mal angefangen die if else Abfrage in eine Variable zu speichern, leider hab ich noch ein paar Fehlermeldungen die ich noch nicht ganz verstehe:

Code:
$home= "$row[Home]";
if ($home == ""){ 
$home= ""; 
}else{ 
$home= "<a target=\"_blank\" href=\"http:/". htmlspecialchars($row["Home"]) ."\"><img border=\"0\" src=\"images/url.gif\"></a>";
}
Notice: Undefined variable: row in /www/gb/guestbook.php on line 19

Notice: Undefined variable: row in /www/gb/guestbook.php on line 20
 
Alt 11.07.2004, 12:58  
Gast
 
Beiträge: n/a
Standard

man kann eine if schleife in eine variable speichern. das musst du schon mit funktionen machen.

mfg
DarkManX
 
Alt 11.07.2004, 20:20  
Gast
 
Beiträge: n/a
Standard

leider bin ich mit meinem Gästebuch immernoch nicht weitergekommen, um es nochmal genau zu erklären:

Code:
// while-Schleife Anfang
while ($row=mysql_fetch_assoc($result2)) {
echo "<table width=\"500\" align=\"center\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" background=\"../rahmen/gastoben.gif\">
  <tr>
    <td><img border=\"0\" src=\"../images/style/para.gif\" height=\"22\" width=\"1\"></td>
  </tr>
</table>
<table width=\"500\"  align=\"center\" border=\"0\" cellspacing=\"5\" cellpadding=\"8\" background=\"../rahmen/gastmitte.gif\">
  <tr>
    <td width=\"30%\" align=\"center\" valign=\"top\">" . $row["Datum"] . "

" 
 . htmlspecialchars($row["Name"]) . "


 <a target=\"_blank\" href=\"http://". htmlspecialchars($row["Home"]) ."\"><img border=\"0\" src=\"images/url.gif\"></a> 
 <a target=\"_blank\" href=\"mailto:". htmlspecialchars($row["Email"]) ."\"><img border=\"0\" src=\"images/email.gif\"></a>
 <a href=\"http://wwp.icq.com/scripts/search.dll?to=". htmlspecialchars($row["Icq"]) ."\"><img border=\"0\" src=\"http://wwp.icq.com/scripts/online.dll?icq=". htmlspecialchars($row["Icq"]) ."&img=5\" align=\"absmiddle\"></a></td>
 <td width=\"70%\" align=\"center\" valign=\"top\">". htmlspecialchars($row["Titel"]) ."

" . nl2br(htmlspecialchars($row["Kommentar"])) . "</td>
 </tr></table>
 <table width=\"500\" border=\"0\" align=\"center\" cellspacing=\"0\" cellpadding=\"0\" background=\"../rahmen/gastunten.gif\">
  <tr>
    <td><img border=\"0\" src=\"../images/style/para.gif\" height=\"22\" width=\"1\"></td>
  </tr>
</table>

";
 } // while Schleife Ende
So wenn ich jetzt das ganze Aufrufe funktioniert das ja auch alles, nur ich möchte das wenn in der Variable . htmlspecialchars($row["Home"]) . keine Daten stehen der Link mit dem Bild verschwindet und nur wenn Daten drinstehen der Link mit dem Bild erscheint.

Ich hab das ganze schon mit If Else probiert, würde auch funktionieren wenn der if else befehl nicht in der While Schleife stehen würde weil der mir dort alles durcheinander wirft. Nun wie kann man denn das ganze machen ? Wenns geht bitte so erklären das ich es auch verstehe ich will ja PHP lernen und nicht irgendwelche Codeschnipsel da einsetzen.
 
Alt 11.07.2004, 22:02  
Erfahrener Benutzer
 
Registriert seit: 08.06.2004
Beiträge: 865
RudiS
Standard

Ich hab jetzt mal den relevanten Teil umgearbeitet:
Code:
  <td width=\"30%\" align=\"center\" valign=\"top\">" . $row["Datum"] . "

" 
. htmlspecialchars($row["Name"]) . "

";
if ($row["Home"] != "")
 {
  echo "<a target=\"_blank\" href=\"http://". htmlspecialchars($row["Home"]) ."\"><img border=\"0\" src=\"images/url.gif\"></a>";
 }
echo " <a target=\"_blank\" href=\"mailto:". htmlspecialchars($row["Email"]) ."\">
So müsste es funktionieren.
mfg RudiS
__________________
Kunst kommt von Können und nicht von wollen, denn sonst würde es ja Wunst heißen.
RudiS ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
else Zweig weglassen - schneller? mAy^daY PHP Tipps 2008 9 27.12.2007 21:35
Voraussetzungen für dieses Thumbnail Skript Plague PHP Tipps 2008 9 19.09.2007 13:35
Fehler: 2mal else hintereinander thokon89 PHP Tipps 2006 4 03.07.2006 02:23
Große probleme mit PHP PHP Tipps 2005-2 55 29.10.2005 22:25
Easy PHP Album 1.2.7 PHP Tipps 2005-2 7 02.09.2005 09:17
Performence Frage PHP-Fortgeschrittene 10 06.05.2005 19:00
Frage zu einem Editformular PHP Tipps 2005 3 25.04.2005 14:58
Frage: gibt es bei PHP sowas wie target="_blank" PHP Tipps 2005 6 20.04.2005 06:27
lizensrechtliche Frage zu GPL - bezüglich PHP Projekt Off-Topic Diskussionen 2 02.04.2005 16:12
IF ELSEIF ELSEIF ELSE mit While Schleife PHP Tipps 2005 9 04.03.2005 23:27
If/ else if/ else bedingung richtig trotzdem falsch?!? seejay PHP Tipps 2005 8 09.02.2005 12:59
[Erledigt] Frage zur Funkrionen? PHP Tipps 2004-2 10 01.12.2004 09:42
if else im else von if else *~* PHP Tipps 2004 3 20.09.2004 20:47
[Erledigt] kompilierte C datei über Apache aufrufen! Server, Hosting und Workstations 6 02.09.2004 23:49
probleme mit if und else PHP Tipps 2004 3 19.08.2004 02:56

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
wie vermeide ich eine verschiebung der tabellenelemente bei if else php, if else while

Alle Zeitangaben in WEZ +2. Es ist jetzt 03:22 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.