2016-04-23 15 views
2

Ich baue derzeit eine Website als Teil meines Kurses. Die Website ist eine E-Commerce-Website. Ich speichere die Produkte in einer SQL-Datenbank und wiederhole jede Zeile in einer Tabelle mit einem PHP-Skript. Ich habe es geschafft, dies zu tun, jedoch möchte ich nun einen Button auf jedem Produkt hinzufügen, der eine href enthält, die das gewählte Produkt zu einem Warenkorb hinzufügt. Das einzige Problem ist, dass ich zum Erstellen des Wagen-Arrays die ID benötige, und um die ID in der Schleife zu setzen, muss man eine ganze Zahl verketten, und ich weiß nicht, wie ich das in meinem Skript machen soll. jede Hilfe würde sehr geschätzt werden.Verketten einer Ganzzahl basierend auf einer SQL-ID für die Verwendung in einem HTML-ID-Tag

while ($row = mysqli_fetch_assoc($result)){ 
echo "<tr>"; 
echo "<td><br>".$row['Name']."</td><br>"; 
echo "<br>"; 
echo "<td><img src=".$row['Image']."height='200' width = '200'"."</td><br>"; 
echo "<br>"; 
echo "<td>Price: £".$row['Price']."</td><br>"; 
echo "<button type='button'><a href='test.php' id=>Buy</a></button>"; 
echo "</tr>"; 

}

Vielen Dank im Voraus, ich hoffe, dass ich genug Detail gegeben haben.

Antwort

1

Es gibt ein paar Möglichkeiten, dies zu tun.

$id = 123; // as an example. Use the appropriate variable for this. 

echo "<button type='button'><a href='test.php' id=$id>Buy</a></button>"; 

echo "<br>"; 

echo "<button type='button'><a href='test.php' id=\"$id\">Buy</a></button>"; 

, die in HTML-Quelle offenbart: auf

<button type='button'><a href='test.php' id=123>Buy</a></button><br><button type='button'> 

<a href='test.php' id="123">Buy</a></button> 

Je nachdem, ob Sie wollen oder nicht zitiert, wenn es das ist, was die Frage geht.

Oder:

echo "<button type='button'><a href='test.php' id='".$id."'>Buy</a></button>"; 

mit HTML-Quelle enthüllt:

<button type='button'><a href='test.php' id='123'>Buy</a></button> 

Dann können Sie die Daten mit einem GET-Array ziehen.

d.h .:

$var = $_GET['id']; 

dann:

echo "<button type='button'><a href='test.php?id=".$id."'>Buy</a></button>"; 

HTML Quelle:

<button type='button'><a href='test.php?id=123'>Buy</a></button> 

In Ihrem while Schleife Sie eine Variable der ID zuweisen könnte.

d.h .:

$id = $row['id']; 

Ich muss beachten Sie, dass einzelne Anführungszeichen negative Auswirkungen haben könnten, wenn Ihre Daten Apostrophe enthält, so ist es am besten doppelte Anführungszeichen zu verwenden.

Ie: (und Flucht doppelte Anführungszeichen)

echo "<button type=\"button\"><a href=\"test.php?id=".$id."\">Buy</a></button>"; 

produzieren diese in HTML Quelle:

<button type="button"><a href="test.php?id=123">Buy</a></button> 

ich aus erster Hand Erfahrungen mit dieser letzten Woche hatte tatsächlich, wo HTML-Quelle über fehlerhafte Warnungen enthüllt HTML Markup mit Daten wie Mark's Bar & Grill.


while ($row = mysqli_fetch_assoc($result)){ 

    $id = $row['id']; // assuming you have a row for id. 

    // all your other code 

    echo "<button type='button'><a href='test.php?id=".$id."'>Buy</a></button>"; 

} 

Zum Beispiel:

$name = "Bob's Bar & Grill"; 

echo "<button type='button'><a href='test.php' name='".$name."'>Buy</a></button>"; 

Würde einer No space between attributes Warnung in HTML-Quelle erzeugen.

Von HTML Quelle:

<button type='button'><a href='test.php' name='Bob's Bar & Grill'>Buy</a></button> 

und könnte negative Auswirkungen haben, wenn sie mit CSS-Regeln verwendet.


für den Namen zu Ihrer anderen Zeile im Zusammenhang $row['Name'] usw. mit, dass

  • Vorsicht Dies würde.
+0

Dank dafür viel, hat dies den Code für mich sortiert, wie ich ein $ _GET [ ‚id‘] in einem anderen bin mit PHP-Skript. – dannstuff

+0

@dannstuff Gern geschehen, froh, dass ich helfen konnte. Sie haben meine Notiz zur Verwendung von einfachen Anführungszeichen gelesen? Ich hatte letzte Woche selbst ein Problem und musste auf doppelte Anführungszeichen zurückgreifen. Das erste Mal für alles, was ich denke ;-) Lebe und lerne, wie mein alter Pappi immer sagte. *Prost* –

0

Mach dir keine Sorgen, dass es eine ganze Zahl ist. Verwenden Sie einfach den Wert, der von der db zurückgegeben wird, wie Sie es für die Strings tun. Es wird von int in string konvertiert. Beachten Sie auch, dass die Verkettung, die Sie zum Erstellen von Zeichenfolgen durchführen, nicht wirklich benötigt wird. Da PHP-Variablen mit $ beginnen, können Sie sie einfach schreiben inline wie folgt aus:

echo "<button type='button'><a href=\"test.php\" id=\"$row['id']\">Buy</a></button>"; 
Verwandte Themen