[PHP] [Problem]Datenbank auslesen; nur bis erstes Leerzeichen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von execUTe, 1. März 2009 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 1. März 2009
    [Problem]Datenbank auslesen; nur bis erstes Leerzeichen

    Servus,
    ich schon wieder. Ich habe ein Problem mit einer Abfrage aus einer MySQL-Datenbank. Und zwar wird mir nur der Wert bis zum Leerzeichen ausgegeben, sofern eins vorhanden ist.

    Auszug PHP:
    Code:
    for($i=0;$i<$num;$i++)
    {
    $titel = mysql_result($res,$i,"Titel");
    $url = mysql_result($res,$i,"URL");
    
    echo "<br><a href=upload/$url>$titel</a></br>";
    Jetzt hab ich in der Datenbank einen Wert wie folgt:
    upload/Amon Amarth - The Pursuit of Vikings.mp3

    Und die Ausgabe ist dann:
    upload/Amon
    als $url

    Sprich:
    Er hört beim Leerzeichen mit der Datenausgabe auf! Warum?
    Für schnelle Hilfe dankbar!

    Mit freundlichen Grüßen,
    execUTe
     
  2. 1. März 2009
    AW: [Problem]Datenbank auslesen; nur bis erstes Leerzeichen

    weil ein link nunmal so ausschuan muss
    Code:
    <a href="bsad sad asd asd">wurst</a>
    also musst du deinen quellcode so abändern:
    Code:
    for($i=0;$i<$num;$i++)
    {
    $titel = mysql_result($res,$i,"Titel");
    $url = mysql_result($res,$i,"URL");
    
    echo "<br><a href=\"upload/$url\">$titel</a></br>";
    
    zudem solltest du leerzeichen in einer url generell mit %20 ersetzten dies kannst du mit hilfe der php funktion rawurlencode(); also würde der fertige code dann so aussehen:
    Code:
    for($i=0;$i<$num;$i++)
    {
    $titel = mysql_result($res,$i,"Titel");
    $url = rawurlencode(mysql_result($res,$i,"URL"));
    
    echo "<br><a href=\"upload/$url\">$titel</a></br>";
     
  3. 1. März 2009
    AW: [Problem]Datenbank auslesen; nur bis erstes Leerzeichen

    Das führt bei mir zu einem Problem da ich, wie ja bereits geschrieben
    upload/Amon Amarth - The Pursuit of Vikings.mp3
    Als Wert in einer Tabelle hab und er denkt sich dann, dass er das "/" nach upload ebenfalls in %2 umwandeln muss.

    Aber danke schonmal!
     
  4. 1. März 2009
    AW: [Problem]Datenbank auslesen; nur bis erstes Leerzeichen

    Deine ganze SQL Abfrage sieht und ist sehr "unprofessionell" Seit wann arbeitet man mit for anstatt mit while bei SQL?

    Edit:// Link gefixxt
    http://www.devmag.net/tricks/php/php_trick_12.htm


    Vllt liegt es an deiner Abfrage-methode..Versuch das ganze mal mit einer While schleife..
    Dann brauchst du nicht mysql_result ect.


    PHP:
    while( $row  mysql_fetch_array ( $sql_variable )) {
    $url   = $row [ 'feldname' ];
    $titel = $row [ 'feldname' ];
    }

    Normal hat man bei so einer Abfrage nämlich keine Probleme, dass nur ein Teil ausgespuckt wird.
     
  5. 1. März 2009
    AW: [Problem]Datenbank auslesen; nur bis erstes Leerzeichen

    PHP:
    <? php
        $query 
    'SELECT URL, Titel FROM `whatever`' ;
        
    $result  mysql_result ( $query );
        while(
    $row  mysql_fetch_array ( $result )) {
            
    $url   $row [ 'URL' ];
            
    $titel  $row [ 'Titel' ];
            echo 
    '<a href="upload/' . $url . '">' . $titel . '</a><br />' ;
        } 
    ?>
    So sollte es ohne Probleme funktionieren.
     
  6. 2. März 2009
    AW: [Problem]Datenbank auslesen; nur bis erstes Leerzeichen

    Nö, du hast mysql_query und mysql_result verwechselt. mysql_result liefert Datensatz Nr. X aus einer "Result ID" vom mysql_query.
     
  7. 2. März 2009
    AW: [Problem]Datenbank auslesen; nur bis erstes Leerzeichen

    Du hast Recht, sorry, muss natürlich mysql_query heißen, sonst kommt nix zu Stande..
    peinlich, peinlich
     
  8. 2. März 2009
    AW: [Problem]Datenbank auslesen; nur bis erstes Leerzeichen

    Perfekt! Danke hat wunderbar funktioniert.
    Bewertungen gingen an alle (sofern möglich) raus!
    Ich liebe dieses Forum... ;D

    Best regards,
    execUTe
     
  9. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.