/ / Ersetzen Sie das statische Array durch die Ergebnisse der Abfrage - php, arrays, mysqli

Ersetzen Sie das statische Array durch die Ergebnisse der Abfrage - php, arrays, mysqli

Bitte beachten Sie die PHP-Funktion unten. Ich versuche, die Ergebnisse meiner Abfrage als Array im gleichen Format wie das unten gezeigte statische Array anzuzeigen. Wie würde ich dieses statische Array durch die Ergebnisse meiner Abfrage ersetzen? Danke im Voraus.

<?php
$mysqli = new mysqli("xxx", "xxx", "xxx", "xxx");

/* check connection */
if ($mysqli->connect_errno) {
printf("Connect failed: %sn", $mysqli->connect_error);
exit();
}

$query = "SELECT event_id, event_name FROM events ORDER by event_id";
$result = $mysqli->query($query);
$row = $result->fetch_array(MYSQLI_BOTH);

function get_price($find){
$books=array(
"java"=>266,
"c"=>250,
"php"=>320
);

foreach($books as $book=>$price)
{
if($book==$find)
{
return $price;
break;
}
}
}
?>

Antworten:

0 für die Antwort № 1

Wie Sie gesagt haben: Normalerweise würden Sie ein Array erstellen und es dann mit allen Elementen füllen, die in der Datenbank gefunden wurden (oder von welcher Quelle auch immer Sie es holen wollen).

Randnotiz: Das Anweisen der MySQLi-Erweiterung, sowohl assoziativ als auch numerisch zu holen, ist ein wenig zeitverschwendend (und aufwändig, weil der Prozessor Zyklen für beide ausgeben muss).

Es würde ungefähr so ​​aussehen:

$array = [];
while ($row = $result->fetch_object()) { // fetch as object, nicer ;)
$array[$result->title] = $result->price;
}

Das Array würde jetzt ungefähr so ​​aussehen:

$array = [
"Jungle book" => 26.95,
"Mowgli" => 24.75,
"Fantastic Four - E.12-6" => 100
];