Fehler in while-Schleife unterbinden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fehler in while-Schleife unterbinden

    hallo
    ich habe ein while-Schleife
    mit der eine Tabelle ausgeführt wird.

    In einer Spalten werden in den Feldern
    mal Links mal keine Links selektiert.

    Gibt es eine Chance , statt "Objekt nicht gefunden",
    mit einem netten Hinweis und zurück zur Seite
    zu ändern?

    PHP-Code:
    <td>' . ....
    <a href="'
    .$ar['datasheet_url'] .'&sci=' .XYZ_SCI'">Datenblatt</a>
    ...'
    .'</td> 
    Gruss
    Pepsi

  • #2
    Vielleicht solltest du mal etwas genauer beschreiben, was du machen möchtest. Bisher habe ich nur verstanden, dass du per while-Schleife eine Tabelle generieren möchtest. Wo kommen die Daten her, mit denen die Tabelle generiert werden soll? Wann wird "Objekt nicht gefunden" angezeigt?
    Poste am besten mal den gesamten Codeabschnitt!

    Kommentar


    • #3
      PHP-Code:
      while($artikel mysql_fetch_assoc($res))

          echo 
      '<tr>
                  <td><img src="' 
      $artikel['image_url'] . '" alt="' htmlspecialchars($artikel['id']) . '" /><td>
                  <td>' 
      htmlspecialchars($artikel['name']) . '
                    <p>' 
      $artikel['nummer'] . ' - ' $artikel['herstellernummer'] . '<br />' '<a href="'.$artikel['datasheet_url'] .'&sci=' .XYZ_SCI'">Datenblatt</a>'.'</td> 
                  <td></td>
                  <td style="text-align:right">' 
      number_format($artikel['vkpreis'],2,',','.') . '<td>
       
                </tr>'

      $artikel kommt
      FROM artikeltabelle a
      LEFT JOIN contentdata c on a.artikelnummer = c.artikelnummer

      wenn in der Artikeltabelle 10 Artikel sind
      und in der contendata nur 8 , dann kann (und soll)
      auf zwei Artikel keine Linkverbindung sein. (z.Bsp.)
      und bei Klick auf "Datenblatt" kommt selbstverständlich
      die Fehlermeldung, die ich nicht möchte.

      Kommentar


      • #4
        Also im Klartext vermutlich(es geht aus deinen Angaben immer noch nicht wirklich hervor) das:
        Wenn es eine URL ist, soll diese aufgerufen werden werden, und sonst nur eine Fehlermeldung auf der aktuellen Seite.

        Ich würde dir vorschlagen, im zweiten Fall schon den Link gar nicht auszugeben (was soll schon ein leerer Link), dann braucht es auch keine Fehlermeldung:
        PHP-Code:
        while($artikel mysql_fetch_assoc($res)){
            
        $ref = !empty($artikel['nummer']) ? "<br /><a href='" $artikel['datasheet_url'] . "&amp;sci=XYZ_SCI>Datenblatt</a>" '';
            echo 
        '<tr>
                    <td><img src="' 
        $artikel['image_url'] . '" alt="' htmlspecialchars($artikel['id']) . '" /><td>
                    <td>' 
        htmlspecialchars($artikel['name']) . '
                      <br />' 
        $artikel['nummer'] . ' - ' $artikel['herstellernummer'] . '$ref</td> 
                    <td></td>
                    <td style="text-align:right">' 
        number_format($artikel['vkpreis'],2,',','.') . '<td>
                  </tr>'
        ;

        Gruss
        H2O

        Kommentar


        • #5
          aha, dankeschön

          ..aus dem Link eine Variable machen!

          klingt gut!

          Gruss
          Pepsi

          Kommentar


          • #6
            hipp hipp hurra

            hab's geschafft:

            innerhalb der while-Schleife:
            PHP-Code:

            {if ($artikel['datasheet_url'])
               echo  
            '<a href="'.$artikel['datasheet_url'] .'&sci=' .usw_SCI'">Datenblatt</a>'.'</td>'; } 
            danke
            Pepsi

            Kommentar

            Lädt...
            X