Variablennamen und Leerzeichen...
Heiner
- php
Hallo Forumler,
ich habe ein Problem mit Leerzeicheninterpretation bei Variablenübergabe. Hier mal ein kleiner Auszug aus meinem Skript:
while($row = mysql_fetch_array($result)){
echo '
<tr>
<td><a href="produkte.php">'.$row[$wert].'</a>/td>
</tr>
';
}
$wert wird aus einem Datenbankfeld ausgelesen welches den Namen
"Münzenalben und Zubehör" hat.
Wenn ich einen Namen ohne Leerzeichen benutze (also nur ein Wort) funzt es.
Leider bin ich aber darauf angewiesen das der Name
aus mehreren Wörtern besteht.
Kennt jemand eine Möglichkeit das hinzubekommen?
Das wäre nett. Vielen Dank schonmal.
Gruss Heiner
Hallo Forumler,
ich habe ein Problem mit Leerzeicheninterpretation bei Variablenübergabe. Hier mal ein kleiner Auszug aus meinem Skript:
while($row = mysql_fetch_array($result)){
echo '
<tr>
<td><a href="produkte.php">'.$row[$wert].'</a>/td>
</tr>
';
}
ich glaube nicht, das die LEerzeichen dein Problem sind, denn der $wert soll ja nur ausgegeben werden und dient nicht als irgendwas
ich glaube die '' sind daran schuld, das die leerzeichen Probleme machen!
ich würde das so schreiben:
echo "
<tr>
<td><a href="produkte.php">".$row[$wert]."</a>/td>
</tr>
";
Das wäre nett. Vielen Dank schonmal.
Gruss Heiner
gruss romy
Hi Romy,
danke für deine Antwort, leider funktioniert es so auch nicht.
Falls noch jemand Vorschläge hat wäre ich dankbar.
Dir auch nochmal Vielen Dank
Gruss Heiner
Hi Romy,
danke für deine Antwort, leider funktioniert es so auch nicht.
Falls noch jemand Vorschläge hat wäre ich dankbar.
okay, wenn das nicht hilft und du aber sagst, das es ohne leerzeichen funzt, dann ersetze bei all deinen variablen dieser art ide leerzeichen mit dem entsprechenden Platzhalter bevor sie in die Datenbank geschrieben werden...
ABer es wäre vielleicht sinnvoll mal zu probieren, was dir der Browser ausspuckt, wenn du einfach mal echo $variable machst, ob es da auch schon nicht geht oder nur innerhalb der stringanweisung
Dir auch nochmal Vielen Dank
Gruss Heiner
...bzw.
echo $row[$wert];
echo $wert;
echo $row["beispielwert"];
und gucken ob irgendetwas davon funzt
gruss
wenn das was Kaale sagt so seine richtigkeit hat, habe ich natürlcih was falsch verstanden
Spaltennamen sollten natürlich keine leerzeichen und Umlaute beinhalten
da es klappt wenn du keine setzt, ist deine spalte vielleicht ohne leerzeichen oder hast du die jedesmal mitgeändert
hatte die ganze zeit gedacht, dass der ausdruck mit den leerzeichen in der spalte mit dem namen $wert steht, sorry
romy
Hi Romy.
Danke nochmals für deine Tips,
habe den Fehler entdeckt es lag an einem
Leerzeichen welches am Ende meines Datenbankfeldes
stand. Dumm von mir.
Aber da gibts noch was anderes:
Ich bekomme immer eine Fehlermeldung wenn ich den Namen des Feldes ändern möchte:
Error on rename of '.\Produkte\uk_münzen.MYI' to '.\Produkte#sql2-264-65.MYI' (Errcode: 13)
Ich benutze PhpMyAdmin 2.2.3.
Vielleicht weisst du da was?
Gruss
Hi Romy.
Danke nochmals für deine Tips,
habe den Fehler entdeckt es lag an einem
Leerzeichen welches am Ende meines Datenbankfeldes
stand. Dumm von mir.
hatte ich dich also doch richtig verstanden???
Aber da gibts noch was anderes:
Ich bekomme immer eine Fehlermeldung wenn ich den Namen des Feldes ändern möchte:
Error on rename of '.\Produkte\uk_münzen.MYI' to '.\Produkte#sql2-264-65.MYI' (Errcode: 13)
Ich benutze PhpMyAdmin 2.2.3.
sorry, da habe ich gar kein Plan, musst du selbst den sql-string schreiben zum ändern des feldnamens??? oder macht das PHpMyAdmin selbst, wenn du den neuen Namen irgendwo eingibst
von welchem Feld eigentlich, einem datenbank-Feld??? Eingabefeld???
Vielleicht weisst du da was?
Gruss
Liebe Grüsse
von welchem Feld eigentlich, einem datenbank-Feld??? >>>Eingabefeld???
Ja von einem Datenbankfeld.
Das was Kalle gesagt hat hat schon zugetroffen ;-)
PhpMyAdmin macht das eigentlich alles Automatisch.
Habe die Tabelle jetzt gelöscht und neu angelegt, da nicht viel drin stand. Sobald aber mehr drin steht wird´s mit neu schreiben stressig...
Nochmals danke Euch beiden. Schön das es Menschen gibt die einem versuchen zu helfen;-)
Liebe Grüsse auch zurück.
Heiner
ich würde das so schreiben:
echo "
<tr>
<td><a href="produkte.php">".$row[$wert]."</a>/td>
</tr>
";
Kann doch nicht funzen, der echo-String ist nach dem Wort "href=/" zuende, weil er mit doppelten Tüdelchen beginnt und mit den nächsten doppelten Tüdelchen endet.
Kalle
ich würde das so schreiben:
echo "
<tr>
<td><a href="produkte.php">".$row[$wert]."</a>/td>
</tr>
";
Kann doch nicht funzen, der echo-String ist nach dem Wort zuende, weil er mit doppelten Tüdelchen beginnt und mit den nächsten doppelten Tüdelchen endet.
genau deswegen mache ich einen backslash davor, damit er da nicht endet
(und keinen slash so wie du jetzt davor gesetzt hast)
der backslash bedeutet: liess das Zeichen dahinter als einfaches zeichen und nicht als bedeutendes Zeichen
"href=/"
^^^^^^^^^
"href="blabla""
^^^^^^^^
Kalle
LG romy
<td><a href="produkte.php">'.$row[$wert].'</a>/td>
$wert wird aus einem Datenbankfeld ausgelesen welches den Namen
"Münzenalben und Zubehör" hat.
Also, der Spaltenname heißt "Münzenalben und Zubehör" und steht in der Variablen $wert ?
1. Merkwürdig, dass der Name eines Datenfeldes in der Tabelle mehrere Worte hat, deutlicher wäre doch Münzenalben_und_Zubehör, wobei die Umlaute sicher irgendwann Probleme bereiten.
2. Wenn $wert durch seinen Inhalt ersetzt wird, heisst die Zeile
<td><a href="produkte.php">'.$row[Münzenalben und Zubehör].'</a>/td>
versuche es mal mit Tüdelchen:
<td><a href="produkte.php">'.$row["Münzenalben und Zubehör"].'</a>/td>
Kalle