Ankündigung

Einklappen
Keine Ankündigung bisher.

Button verlinkung mit SQL abfrage

Einklappen

Neue Werbung 2019

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

  • Button verlinkung mit SQL abfrage

    Moin Moin,

    Ich versuche seit tagen die Verlinkung für einfache buttons mit "onclick" zu erstellen.
    Der Link soll aus der Datenbank gezogen werden... Klappt soweit auch alles ganz gut. Allerdings wird nur der Link aus DB gezogen ohne es zu verlinken...

    Ich habe zwei buttons so realisieren können
    HTML-Code:
    <INPUT TYPE="button" value="Eintragen" onClick="window.open('insert.php')"></FORM>
    Das klappt auch ohne probleme alles.

    Jetzt aber die, die aus der DB gezogen werden sollen...
    PHP-Code:
    echo '<INPUT TYPE="button" value="'.$row_1['name'].'" onClick="window.open('.$row_1['link'].')"></FORM>'
    Problem hierbei, mir fehlen schlich und ergreifend die ' Zeichen um das als Link für den "onclick" erkennen zu lassen.

    Ich habe mich dumm und dämlich gesucht und nichts gefunden...
    Und wenn ich das so machen
    Code:
    echo '<INPUT TYPE="button" value="'.$row_1['name'].'" onClick="window.open(''.$row_1['link'].'')"></FORM>';
    werden mit immer Fehler rausgeschmissen... Habe echt alles probiert...

    Ihr seid meine letzte Hoffnung.

    Danke im vorraus

    Gruß
    Pummefee

  • #2
    So ein PHP/JavaScript-Mischmasch ist furchtbar. Schreibe JavaScript-Code ausschließlich in JavaScript-Dateien. Und bedenke, dass die Seite auch ohne JavaScript noch die Grundfunktion erfüllen sollte.

    Ich würde es eher so machen:
    PHP-Code:
    <form action="<?= htmlspecialchars($row['url'], ENT_COMPAT'UTF-8'?>" method="get" target="_blank">
        <input type="submit" value="<?= htmlspecialchars($row['name'], ENT_COMPAT'UTF-8'?>" />
    </form>
    Oder gleich einen richtigen Link (<a>), da es ja hier keinen wirklichen Bedarf für einen Button gibt.

    Durchnummerierte Variablen sind übrigens Quatsch. Gib Variablen immer sinnvolle und sprechende Namen. Und mach dich über den Unterschied von "Link" und "URL" vertraut. Eine URL ist eine Internetadresse. Ein Link ist ein HTML-Element (<a>).

    Kommentar


    • #3
      Okay danke schonmal dafür ^^
      Leider leitet es nicht auf den entsprechenden Link weiter sondern, bei z.b. Youtube, auf die Index Seite und nicht dem entsprechenden Video...
      Wenn du möchtest kannst du dir die Seite ansehen... http://myiv.de/
      Aber immer hin leitet es schonmal weiter

      Kommentar


      • #4
        Also bei mir sieht das ganze jetzt so aus
        PHP-Code:
        $sql_1 = "SELECT * FROM link";
            $result_1 = mysqli_query($db_conn, $sql_1);

            //$preisgesamt = 0;

            $lel="'";
            while ($row_1 = mysqli_fetch_array($result_1, MYSQLI_ASSOC))
            {

                //echo '<form><INPUT TYPE="button" value="'.$row_1['name'].'" onClick="window.open('.$row_1['link'].')></form>';
                //echo '<button type="button"><a href='.$row_1['link'].'>'.$row_1['name'].'</a>';
                //echo  '<button type="button"><a href="'.$row_1['link'].'" target="_blank">'.$row_1['name'].'</a>';
                //echo '<INPUT TYPE="button" value="'.$row_1['name'].'" onClick="window.open('.$row_1['link'].')"></FORM>';

            ?>
                <form action="<?= htmlspecialchars($row_1['url'], ENT_COMPAT'UTF-8'?>" method="get" target="_blank">
                    <input type="submit" value="<?= htmlspecialchars($row_1['name'], ENT_COMPAT'UTF-8'?>" />
                </form>
            <?php

            
        }
        Muss ich noch iwas ändern?
        Und wie kann ich die Buttons nebeneinander lassen anstatt so weit auseinander?

        Kommentar


        • #5
          SELECT * ist böse und solltest nicht verwendet werden. Gib im SELECT immer die Spalten an, die du im Ergebnis erwartest.

          Und du hast wohl einen Query-String in der URL. In dem Fall wird es so etwas umständlicher. Aber warum machst du es nicht so wie es von HTML gedacht ist, mit einem <a> Element? Wäre das zu einfach?

          PHP-Code:
          <a href="<?= htmlspecialchars($row['url'], ENT_COMPAT'UTF-8'?>">
              <?= htmlspecialchars($row['name'], ENT_COMPAT'UTF-8'?>
          </a>

          Kommentar


          • #6
            Weil das im Button irgendwie besser aussieht finde ich...
            Der <a href... ist mir da zu einfach und langweilig...
            Muss ja schließlich auch schön aussehen XD

            Kommentar


            • #7
              Zitat von Pummelfee Beitrag anzeigen
              Weil das im Button irgendwie besser aussieht finde ich...
              Der <a href... ist mir da zu einfach und langweilig...
              Muss ja schließlich auch schön aussehen XD
              Das Aussehen bestimmt CSS und nicht HTML. Wenns dir zu langweilig ist, dann style es mit CSS.

              Kommentar


              • #8
                Mache ich gerade ^^
                Ich danke dir aufjedenfall für deine schnelle und professionelle hilfe ^^

                Einen wunderschönen Abend wünsche ich dir noch ^^

                Kommentar

                Lädt...
                X