mehrere Daten in eine Variable

Pho3nix

Mitglied
Hey Leute,
Ich bin mal wieder auf der Suche nach einer Lösung.
also ich habe ein script welches Daten aus einer Datenbank Namen und halt die "adressen" der Links ausließt.
So sieht mein php script aus:
PHP:
<?php
include('../config/phpmyadmin.php');
 
  try {
    $sql = 'SELECT * FROM chw_navi';   
    $kommando = $db->prepare($sql);
    $kommando->execute();
    
    $kommando->bind_result($Name, $Datei, $nr);
    
    while ($kommando->fetch()) {
      $text = sprintf('<a href="%s">%s</a><br>',
         $Datei, $Name
      );
    }
    
    $db->close();
  } catch (Exception $e) {
    echo 'Fehler: ' . htmlspecialchars($e->getMessage());
  }

Funktioniert soweit auch, nur leider möchte ich nicht nur den untersten Punkt aus der Datenbank auslesen, sondern alle.
Diese sollen halt aufgelistet werden in einer Variable. Die Ausgabe der Variable möchte ich so haben:
$text = <a href="1.php">home</a><a href="2.php">zweite cat</a><a href="3.php">noch iwas</a><a href="4.php">und der letzte Punkt</a>

wäre nett wenn mir wer da helfen könnte :)
Hab auch mehrere Daten in der Datenbank...

mfg
 
Hallo Pho3nix

Das kann eine Variable so nicht leisten.
Die Variable $text wird ja in der Schleife immer wieder überschrieben.

Dazu bräuchtest du ein Array welches du in einer Schleife wieder ausgeben kannst.

Gruss Joe.
 
Kein Problem, die Lösung heißt: String Concatenation, also Verknüpfung.
Der Operator dafür ist: .=

PHP:
<?php
include('../config/phpmyadmin.php');
 
  try {
    $sql = 'SELECT * FROM chw_navi';   
    $kommando = $db->prepare($sql);
    $kommando->execute();
    
    $kommando->bind_result($Name, $Datei, $nr);
    
    $text = '';
    while ($kommando->fetch()) {
      $text .= sprintf('<a href="%s">%s</a><br>',
         $Datei, $Name
      );
    }
    
    $db->close();
  } catch (Exception $e) {
    echo 'Fehler: ' . htmlspecialchars($e->getMessage());
  }
 
  • Gefällt mir
Reaktionen: Joe
1000 Dank :) Es funktioniert.
Hätte ech nicht gedacht, dass es so simpel ist und google hat mir dazu nix ausgespuckt... naja vielleicht such ich auch falsch. Naja, wenigstens es funktioniert und deswegen bin ich dir sehr dankbar.
 
Zurück