Så har jeg fået fjernet det overskydende semikolon og forsøgt, blot for at sige at jeg har prøvet det, at laver `user` om til users. og ligeledes forsøgt at skrive navnene på de enkelte felter. Jeg har ligeledes forsøgt at lave `escaping` på de enkelte felter og det gav heller intet resultat.
Koden ser nu således ud:
- if ($stmt = $mysqli->prepare('SELECT `id`, `username`, `navn`, `virksomhed` FROM `users`')) {
- /* Bind parametre */
- $stmt->bind_param('i', $id);
- /* Eksekver forespørgslen */
- $stmt->execute();
- /* Bind resultatet */
- $stmt->bind_result();
- /*Fetch array*/
- $stmt->fetch();
- while($brugere = $stmt->fetch_array(MYSQLI_ASSOC)) {
- echo '<tr>
- <td><b>'.$brugere['navn'].'</b>,</td>
- <td><u>'.$brugere['username'].'</u>,</td>
- <td><b>'.$brugere['virksomhed'].'</b></td>
- <td><a href="admin/edit_user.php?user_id='.$brugere['id'].'" class="btn">Rediger brugerinfo</a></td>
- </tr>';
- }
- /* Luk statement */
- $stmt->close();
-
- }
Den eneste forskel på min oprindelige kode, med undtagelse af det ekstra semikolon, og noget kode jeg anvender længere nede på siden, er at jeg her bruger en array og ikke gemmer værdierne i særskilte variabler.
Omtalte anden kode er her:
- if($stmt = $mysqli->prepare('SELECT `navn`, `dato`, `kunde`, `status` FROM `opgaver` ORDER BY `dato` DESC')) {
- /* Eksekver forespørgslen */
- $stmt->execute();
- $stmt->store_result();
- if($stmt->num_rows() > 0) {
- /* Bind resultatet */
- $stmt->bind_result($admin_navn, $admin_dato, $admin_kunde, $admin_status);
- /*Hent rækker og udskriv data*/
- echo '<tr>
- <td>Opgavens navn</td>
- <td style="background-color: #CCC;">Dato for afgivelse</td>
- <td>Kunde</td>
- <td style="background-color: #CCC;">Status</td>
- <td></td>
- </tr>';
- while($stmt->fetch()) {
- echo '
- <tr>
- <td>'.$admin_navn.'</td>
- <td style="background-color: #CCC;">'.$admin_dato.'</td>
- <td>'.$admin_kunde.'</td>
- <td style="background-color: #CCC;">'.$admin_status.'</td>
- <td>
- <select name="select" id="select">
- <option name="0" value="0">Ikke behandlet</option>
- <option name="1" value="1">Accepteret</option>
- <option name="2" value="2">Under udførsel</option>
- <option name="3" value="3">Gennemført</option>
- <option name="4" value="4">Afvist</option>
- </select>
- </td>
- </tr>';
- }
- }
- else {
- echo '<p>Der blev ikke fundet nogen opgaver</p>';
- }
- }
Sidst nævnte kode ses ovenfor, og denne har ingen problemer med at hente og udskrive data.
Det ville være dejligt hvis jeg kunne bruge et array, da jeg på et senere tidspunkt kun skal finde på overordnede navne til mine værdier, fordi jeg så kan bygge det hele op om ganske få variabler, selvom jeg har rigtig mange udtræk fra db på en enkelt fil.
Indlæg senest redigeret d. 26.09.2012 15:54 af Bruger #17072