gelöschter Benutzer

Zeilenumbruch

am 25.01.2011, 18:20 Uhr eröffnete folgenden Thread
PHP & MySQL    2059 mal gelesen    7 Antwort(en).

Hallo zusammen!

Das FF und IE Befehle verschieden interpretieren ist für mich ja auch nichts neues mehr.

Aber warum der IE bei der einen Sache einen (größeren) Zeilenumbruch einfügt als bei der anderen, obwohl die Befehle gleich sind, das raff ich nich.

Vor allem nicht, wie ich das wegbekomme.

Und zwar habe ich hier unter Angebot, wie man unschwer erkennen kann, einen Zeilenumbruch, der größer ist als bei allen anderen Feldern.

Aber es gibt im Code keinen Unterschied. Oder ich wurschtele da schon zu lange dran rum, das ich ihn nicht sehe.

Das ist der Code für das Angebots-Feld


<form action="rehakurssuche.php" method="post" accept-charset="utf-8">
<select name="searchterm" size="1" class="textfeld">
<?php
//Angebot auslesen
$sqlbefehl ="
Select distinct
Angebot
From
reha
ORDER BY
Angebot
";
$erg_cats = mysql_query($sqlbefehl)or die(mysql_error().$sqlbefehl);
while($cat = mysql_fetch_assoc($erg_cats)){

echo '<option value="'.$cat['Angebot'].'">'.$cat['Angebot'].'</option>';

}
?>
</select>


<input type = "submit" value="Suchen">
<input type = "reset" value="Abbrechen">
</form>


und im Vergleich dazu der Codeabschnitt für den Ort:

<select name="searchterm" size="1" class="textfeld">
<?php
//Tage auslesen
$sqlbefehl ="
Select distinct
Tage
From
reha
ORDER BY
Tage
";
$erg_cats = mysql_query($sqlbefehl)or die(mysql_error().$sqlbefehl);
while($cat = mysql_fetch_assoc($erg_cats)){

echo '<option value="'.$cat['Tage'].'">'.$cat['Tage'].'</option>';

}
?>
</select>


<input type = "submit" value="Suchen">
<input type = "reset" value="Abbrechen">
</form>


Kann da jemand den Fehler finden und mich schlauer machen??


Danke im voraus!

Marcus



gelöschter Benutzer
am 25.01.2011, 18:30 Uhr schrieb

Hi Marcus,

es liegt an den Leerzeichen und Zeilenumbrüchen. Der IE reserviert für diese etwas Platz und da die beim ersten select nicht mit in die Zeile passen werden sie in die Zeile drunter verschoben.

Lösch einfach die Leerzeichen und Zeilenumbrüche raus oder mach die erste select box kleiner.


Gruß Thomas

PS: Drück im IE mal STRG + A dann siehst du was ich meine.


joerg
Avatar joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
am 25.01.2011, 20:46 Uhr schrieb joerg

Hallo Marcus

Und die Seite wird im Chrome auch noch anders dargestellt.

Darf ich mal fragen ob das so gewollt ist das für jedes Feld eine Suche durchgeführt wird ohne das in Beziehung zu den anderen Abfragen steht?

Abgesehen davon das ich mit anderen HTML Elementen die Seite aufbauen würde und auch mehr CSS anwenden würde.

Gruß
Jörg


Zufällige Umleitung zu der Startseite einer meiner Domains
Meine ungewöhnlichen Tools


gelöschter Benutzer
am 25.01.2011, 21:52 Uhr schrieb

Hallo zusammen!

Danke Euch beiden erst einmal für die Hinweise.

@joerg:

Naja, gewollt ist relativ. Einerseits schon. Andererseits ist das mein erstes wirklich größeres Projekt, was ich gebaut habe - im wahrsten Wortsinne.

Oder noch direkter gesagt: Mein erstes wirkliches Projekt!

Das soll jetzt nicht evtl. Fehler beschönigen, aber vielleicht erklären.

Und beim Rehasport sind ja auch nicht so viele Angebote, das man die einzelnen Abfrage-Felder in Abhängigkeit stellen bräuchte - wie ich denke. Bei dem Sportprogramm wäre das vielleicht schon etwas anders.

Die Idee ist erst vor eineinhalb Wochen entstanden. Und da heute mein letzter Tag bei dem Sportverein war, hat natürlich auch die Zeit etwas gedrungen.

Ich will da zwar noch soweit wie möglich die Dinge verbessern, aber das grobe musste halt fertig!


ptra
Avatar ptra
Designerin (Print & Web)
Content Meister (473 Beiträge)
am 26.01.2011, 08:43 Uhr schrieb ptra

Hallo Marcus,

du hast da am Anfang ein - Tag ohne Funktion. Wenn das draussen ist, siehts schon besser aus.

Außerdem fehlt z.B. u.a. die Dokumenttyp-Angabe - dein HTML müßtest du mal durch den Validator schicken, dann bekommst du die einzelnen Fehler aufgezeigt.

Gruß. Petra


Gegen die Infamitäten des Lebens... (siehe Hermann Hesse) http://www.universoom.de

Marcus
Avatar Marcus
Guru (223 Beiträge)
am 27.01.2011, 10:19 Uhr schrieb Marcus

Hallöchen!

Keine Angst, ich bin nicht plötzlich von Bord gegangen, ich Dussel hatte nur vergessen meine Freemailer-Adresse änder zu lassen.

Ich habe es - jedenfalls laut dem e3c-Validator soweit hinbekommen, das zumindest die mehr oder minder statischen Tabellen auf 0 Fehler runter sind.

Bei den Suchseiten kriege ich leider einige Fehler nicht ausgemerzt.

z. B. auf dieser Seite habe ich so einen:

xmlParseEntityRef: no name

…>Ambulanter Herzsport</option><option value="AVK & Herzsport">AVK & Herzsport<…



und das v von value ist mit einem Unterstrich markiert.

Dann hätte ich noch eine Frage:

In der Datenbank stehen ja auch &-Zeichen. Die Kollation ist utf-9_general_ci und das charset in den php-Dateien utf-8.

Kriege ich die &\'s irgendwie maskiert, damit der validator aufhört zu schimpfen?

Danke und Gruß

Marcus


Das Regional-Magazin für Lüneburg und die Region:
salzsau-panorama.de

Raptor
Avatar Raptor
IT-Student
Content Gott (1013 Beiträge)
am 27.01.2011, 10:50 Uhr schrieb Raptor

Die & müssen als HTML-Entity codiert werden: &amp;


Meine Developer-Website mit den Web-Entwickler-Tools.
Meine Web-Entwicklungs-Dienstleistungen

[url="http://www.seitenreport.de/forum/beitraege/seitenreport_verlosungen/wichtig_neue_regel

joerg
Avatar joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
am 27.01.2011, 10:57 Uhr schrieb joerg

Hallo Marcus

Du solltest dir diese PHP Funktion für deine Ausgabe anschauen.
Würde ich mir an deiner Stelle dann aber sehr genau durchlesen, weil man vieles auch durch die Parameter der Funktion steuern kann.

php.net/manual/de/function.htmlspecialchars.php



Wenn man beispielsweise & in normaler Schreibweise und bereits als Zeichenreferenz in der Datenbank stehen hat und beides als & ausgegeben weden soll ist der Parameter double_encode zu beachten. Wenn man diesen Parameter auf false setzt bekommt man mit nicht vorhandenen benannten Entities dann noch Probleme unter Umständen.

Die einfachen und doppelten Anführungszeichen braucht man eigentlich nur in den Fällen zu beachten wenn man diese in HTML Attributen wieder aus der Datenbank ausgibt.
Das könnte unter Umständen bei dir auch der Fall sein.

Du hast da eine Zeile stehen in deinen erstem Beitrag.
echo \'<option value="\'.$cat[\'Angebot\'].\'">\'.$cat[\'Angebot\'].\'</option>\';

Für den ersten Fall müsstest du zumindest das doppelte Anführungszeichen auch beachten weil es prinzipiell in der Datenbank auch vorkommen könnte. Für die zweite Verwendung wäre das nicht unbedingt der Fall.

Entweder machst du vorher eine Variable und tauscht in beiden Fällen in Hinblick des worst Case aus oder behandelst halt eben beide Fälle unterschiedlich.

Oder du änderst alle deine Probleme in der Datenbank selbst was den Nachteil hat das jeder neuer Eintrag wieder zu einem Fehler führen kann.

Gruß
Jörg


Zufällige Umleitung zu der Startseite einer meiner Domains
Meine ungewöhnlichen Tools

  • 1


« zurück zu: PHP & MySQL

Das Seitenreport Forum hat aktuell 5275 Themen und 36110 Beiträge.
Insgesamt sind 48360 Mitglieder registriert.