Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Datenbankabfrage, URLs, Text

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Datenbankabfrage, URLs, Text

    Hallo liebe User,

    ich habe eine Frage:
    Ich habe eine Datenbank mit 3 Spalten:
    In der ersten Spalte steht der Kundenname. - In der zweiten Spalte eine IP Adresse für die Überwachung derer Geräte oder eben "Keine Überwachung", wenn sie keine haben. In der Dritten Spalte die IP Adresse des Hostrechners des zu überwachenden Gerätes.

    Nun habe ich eine Datenbank Abfrage, die auch funktioniert. - Also er spuckt mir die Werte aus und eine Tabelle.

    Momentan hab ich es so gelöst(Kann sein, dass es doof aussieht, aber it works *g):
    Das ist nur ein Teil aus dem Code!
    Code:
    <table align="center" style="border-collapse: collapse; border-color: #FF0000;" width="700px">
    <tr>
    <th>
        
        
        
    
    
    PHP-Code:
    <?php echo "Kunde";?>
    </th> <th>
    PHP-Code:
    <?php echo "MaReMo";?>
    </th> <th>
    PHP-Code:
    <?php echo "Service";?>
    </th> </tr>
    PHP-Code:
    <?php while ($zeile mysqli_fetch_array$db_ergMYSQL_ASSOC)) { ?>
    <tr> <td style="text-align:left;">
    PHP-Code:
    <?php echo $zeile['Kunde'];?>
    </td> <td style="text-align:left;"><div><a href="
    PHP-Code:
    <?php    echo $zeile['MaReMo'];?>
    " target="_blank">
    PHP-Code:
     <?php echo $zeile['MaReMo'];?>
    </a></div></td> <td style="text-align:left;"><div><a href="
    PHP-Code:
    <?php echo $zeile['Service'];?>
    " target="_blank">
    PHP-Code:
    <?php echo $zeile['Service'];?>
    </a></div></td> </tr>
    PHP-Code:
    <?php ?>
    </table>
    Nun die Frage... kann ich über if /else dem sagen:
    Wenn da "http://*" steht, dann
    Code:
    <a href="
        
        
        
    
    
    PHP-Code:
    <?php echo $zeile['Spalte2'];?>
    ">
    PHP-Code:
    <?php echo $zeile['Spalte2']?>
    </a>
    ansonsten "soll er statt
    Code:
     <a href="..."></a>
    einfach nur Text ausgeben?

    Ich lern php erst seit 3 oder 4 Tagen deshalb noch absolute Anfängerin!

    Vielen Dank im Voraus. Liebe Grüße


  • #2
    Bestimmt geht es eleganter aber dies wäre eventuell eine Möglichkeit:

    PHP-Code:

    if( strpos($deinString'http://') !== false){
      
    //http:// ist im String enthalten
    } else {
      
    //ist nicht im String enthalten.

    http://php.net/manual/de/function.strpos.php

    Kommentar


    • #3
      Zitat von SylarBo Beitrag anzeigen
      Bestimmt geht es eleganter aber dies wäre eventuell eine Möglichkeit:

      PHP-Code:

      if( strpos($deinString'http://') !== false){
        
      //http:// ist im String enthalten
      } else {
        
      //ist nicht im String enthalten.

      http://php.net/manual/de/function.strpos.php

      D.h. ich müsste schreiben:
      PHP-Code:
      if( strpos($zeile['Spalte2'], 'http://') !== false)

      echo 
      "<a href='echo $zeile['Spalte2']'>" echo $zeile['Spalte2']</a>;
      }
      else
      {
      echo 
      $zeile['Spalte2'];

      Wie gesagt... bin noch am lernen :/ das funktioniert so nicht... allerdings bin ich auch noch nicht so sicher mit PHP und HTML Einbindung

      Trotzdem danke ich für jede Hilfe!

      Kommentar


      • #4
        Die Anweisung(en) in deiner if-Klausel sind falsch (Mehrere Fehler, z.B. ist das abschließende a-Tag nicht von Anführungszeichen umgeben und daher für PHP kein String). Du solltest dich vielleicht ein wenig mehr zu Strings und vor allem Zeichenketten-Operatoren einlesen.

        Und noch eine Kleinigkeit:
        PHP-Code:
        <th>
                 <?php echo "Kunde";?>  
        </th>
        ist das selbe wie:
        PHP-Code:
        <th>Kunde</th
        Warum also so kompliziert?

        Kommentar


        • #5
          Zitat von Tropi Beitrag anzeigen
          Die Anweisung(en) in deiner if-Klausel sind falsch (Mehrere Fehler, z.B. ist das abschließende a-Tag nicht von Anführungszeichen umgeben und daher für PHP kein String). Du solltest dich vielleicht ein wenig mehr zu Strings und vor allem Zeichenketten-Operatoren einlesen.

          Und noch eine Kleinigkeit:
          PHP-Code:
          <th>
                   <?php echo "Kunde";?>  
          </th>
          ist das selbe wie:
          PHP-Code:
          <th>Kunde</th
          Warum also so kompliziert?
          Ähm gute Frage - frag mich nicht Irgendwas hatte ich mir dabei bestimmt gedacht.

          Kommentar


          • #6
            PHP-Code:
            if( strpos($zeile['Spalte2'], 'http://') !== false
            {  
                echo 
            '<a href="'.$zeile['Spalte2'].'">'.$zeile['Spalte2'].'</a>'

            else 

                echo 
            $zeile['Spalte2']; 

            strpos() gibt die Position des zu suchenden Strings ('http://') im zu durchsuchenden String ($zeile['Spalte2']) zurück oder false, wenn nichts gefunden wurde. Wenn nun der zu durchsuchende String mit 'http://' anfängt, gibt strpos() 0 als Position zurück. In einem Vergleich sieht PHP 0 als false an. Daher kann man nicht einfach schreiben:
            PHP-Code:
            if( strpos($zeile['Spalte2'], 'http://') != false
            Denn bei der Positionsangabe 0 würde PHP dann entscheiden, dass kein Link angezeigt werden sollte!
            !== hingegen führt eine exakte Prüfung durch und dann ist false natürlich nicht das gleiche wie 0.
            Hoffe das erklärt das if-Statement.

            Kommentar


            • #7
              Dankeee sehr

              Hat alles geklappt wie ichs will!

              Kommentar

              Lädt...
              X