Heiner: Variablennamen und Leerzeichen...

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

  1. 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

    1. 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

      1. 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

        1. ...bzw.
          echo $row[$wert];
          echo $wert;

          echo $row["beispielwert"];

          und gucken ob irgendetwas davon funzt

          gruss

          1. 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

        2. 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

          1. 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

            1. 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

    2. 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

      1. 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

  2. <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