Links til spændende sites..



PHP snippets

Hvordan at SELECT fra en database part II

www.forbindelse.dk - forsiden

Som lovet på sidste side skal vi nu prøve at udvælge en enkelt række fra databasen som vi byggede her og prøve at finde værdier fra den række. Vi vil lave en liste over vores kontakter i en <SELECT> -box. Så kan vi vælge en person og udtrække ald den infomation vi har om den person, fra vores database.
Så lad os starte.
Vi skal lave siden, og ved at lave SELECT vil vi bruge hvad vi lærte på sidste side - at læse ald indholdet.

Kopiér koden ind i en fil med navnet "select.php" og kald den i din browser;
http://127.0.0.1/select.php

<?php 

if (isset($_POST['readme']))  { 
doread(); 
} 

function doread() { 
// This function is called when selecting a person from the SELECT
$IDnummer = $_POST['contact']; 

$con = mysqli_connect('127.0.0.1', 'root', 'Your_Password', 'dbname'); 
if (mysqli_connect_errno()) { 
  echo 'Error connecting to DB'; 
} 
$SQL_String = mysqli_query($con, 'SELECT * FROM contacts WHERE AutoID=' . $IDnummer . ''); 
$row = mysqli_fetch_array($SQL_String); 

echo "You selected: " . $row['Firstname'] . " " . $row['Lastname']; 
mysqli_close ($con); 
} 

?> 

<?php 
// Here we populate the SELECT with our contacts
$con = mysqli_connect('127.0.0.1', 'root', 'Your_Passwords', 'dbname'); 

if (mysqli_connect_errno()) { 
  echo 'Error connecting to DB'; 
} 

$SQL_String = mysqli_query($con, 'SELECT * FROM contacts ORDER BY AutoID ASC'); 

while($row = mysqli_fetch_array($SQL_String))  { 
  echo '<OPTION VALUE=' . $row['AutoID'] . '>' . $row['Firstname'] . ' ' . $row['Lastname']; 
} 
mysqli_close ($con); 
?> 
Som du kan se, koden der håndterer databasen, indeni HTML koderne loop'er gennem rækkerne i din tabel. Dette er for at fylde SELECT-box'en med dine kontakter.
Herefter, når du vælger din kontakt fra listen kalder vi funktionen "doread" øverst i dokumentet. Og så udtrækker vi kun den ene række fra tabellen. Denne ene række er valgt fra dets AutoID nummer. Her er hvad der sker i SQL query;
.. SELECT * FROM contacts WHERE AutoID= . $IDnummer ..
Inden det har vi hentet AutoID nummeret fra SELECT, det gjorde vi på denne måde;
$IDnummer = $_POST['contact'];

Hvor "contact" er navnet på SELECT feltet. Og med det får vi værdien som er det ID nummer kontakten har i databasen. Vi kan nu grave den information vi har ud, og præsentere det pænt i et HTML dokument.

Vi ses på den næste side, hvor vi kigger på flere at disse spændende MySQL ting, ved brug af PHP.