Ik probeer al een hele tijd het hoogste id uit mijn db te halen maar ik krijg altijd een fout! Ik gebruik momenteel deze code:

$test = mysql_query("SELECT * FROM website ORDER BY id DESC LIMIT 0,1");
echo $test;

en het lukt niet:s, ziet iemand mijn fout?
Ik heb door deze tips al een heel stuk meer informatie en uitkomst, maar wat ik wil is alle namen uit de database halen. Op het moment haalt hij er maar eentje uit en geeft hij de woorden Array & Naam nog weer. Hoe haal ik die eruit?

PHP:
<?php

mysql_connect('localhost','root', '');
mysql_select_db('werk');
$results = mysql_query('SELECT `Naam` FROM `werknemers`');
$row = mysql_fetch_assoc($results);
echo $row['werk'];
print_r($row);

?>

Uitkomst:
Array ([Naam] => Snoek )

Als iemand mij kan helpen, heel graag!
De fouten die je maakt:
- Backticks in je query.
- Ontbrekende foutafhandeling.
- Geen controle of er wel records uit de database opgehaald zijn.
- Geen while loop waarin je de resultaten fetched.
- Je gebruikt $row['werk'] terwijl je de kolom niet ophaalt in je query.

Beter zou zijn:
<?php
$sQuery = "
SELECT naam
FROM werknemers
";

if(!$rResult = mysql_query($sQuery))
{
trigger_error(mysql_error().'<br />In query: '.$sQuery);
}
elseif(mysql_num_rows($rResult) == 0)
{
trigger_error('Geen records opgehaald met query: '.$sQuery);
}
else
{
while($row = mysql_fetch_assoc($rResult))
{
echo $row['naam'].'<br />';
}
}
?>
Jaaaaah :) Het werkt nu!

Maar nu heb ik dus met een optie geen rekening gehouden, het is de bedoeling dat de namen onder elkaar in een select lijstje komen, nu staan ze dus allemaal naast elkaar.

Dat had ik opzich van te voren kunnen bedenken, maar tja :(

Is er een manier omdat nog goed voor elkaar te krijgen?
Jaaaaah :) Het werkt nu!

Maar nu heb ik dus met een optie geen rekening gehouden, het is de bedoeling dat de namen onder elkaar in een select lijstje komen, nu staan ze dus allemaal naast elkaar.

Dat had ik opzich van te voren kunnen bedenken, maar tja :(

Is er een manier omdat nog goed voor elkaar te krijgen?
Dat heeft enkel te maken met de weergaven van de gegevens en is dus een PHP aangelegenheid:
<?php
$sQuery = "
SELECT
id,
naam
FROM werknemers
";

if(!$rResult = mysql_query($sQuery))
{
trigger_error(mysql_error().'<br />In query: '.$sQuery);
}
elseif(mysql_num_rows($rResult) == 0)
{
trigger_error('Geen records opgehaald met query: '.$sQuery);
}
else
{
echo '<select name="naam">';
while($row = mysql_fetch_assoc($rResult))
{
echo '<option value="'.$row['id'].'">'.$row['naam'].'</option>';
}
echo '</select>';
}
?>
Zoiets zal dat bijvoorbeeld worden.
Het werkt nu!

Nu heb ik nog 1 vraag, ik wil dat hij die naam onthoud voor een volgende pagina waarin de uren voor dat personeelslid weer weg worden geschreven naar een andere tabel. Kan ik hem nu gewoon een name meegeven? Waar doe ik dat binnen die echo statements?

Chilion
De query is natuurlijk maar een voorbeeld, die moet je wel even naar je eigen situatie aanpassen...

Ik kan niet ruiken hoe jouw datamodel eruit ziet ;-)
Blanche schreef op 29.01.2008 11:17
De query is natuurlijk maar een voorbeeld, die moet je wel even naar je eigen situatie aanpassen...

Ik kan niet ruiken hoe jouw datamodel eruit ziet ;-)


Bedankt man, alles werkt nu naar behoren :D

Ik ga nu ff stoeien met het registreren van de uren van de werknemers die hij vervolgens weer in SQL moet gaan plaatsen :)

Stay alerted, ik heb vast straks weer een vraag :P Ben beginnend PHP'r ;)

Chilion
Hij werkt dus nog niet helemaal zoals het hoort ;)
Ik heb grotendeels jou text overgenomen, dit heb ik er nu staan:

<?php
mysql_connect('localhost','root', '');
mysql_select_db('werk');
$sQuery = "SELECT personeelsnummer, naam FROM werknemers";

if(!$rResult = mysql_query($sQuery))
{
trigger_error(mysql_error().'<br />In query: '.$sQuery);
}
elseif(mysql_num_rows($rResult) == 0)
{
trigger_error('Geen records opgehaald met query: '.$sQuery);
}
else
{
echo '<select name="naam">';
while($row = mysql_fetch_assoc($rResult))
{
echo '<option value="'.$row['id'].'">'.$row['naam'].'</option>';
}
echo '</select>';
}
?>

De select heeft een naam, dat is "naam", alleen wanneer ik hem verzend (submitknop) dan blijft POST[naam] leeg ofzo. Hij laat tenminste niks zien wanneer ik de variable uit laat draaien.

Hoe kan dit? Komt het doordat de naam nu in PHP staat? Dat mag niks uitmaken toch?

Mod-edit
Bumpen
Bumpen binnen 24 uur is niet toegestaan. Gebruik tot die tijd je edit knopje om je bericht aan te passen.

(Bumpen is het herhaaldelijk plaatsen van reacties op een thread of onderwerp in een internetforum teneinde deze thread bovenaan de lijst te houden zodat het langer onder de aandacht van de bezoekers blijft. Dit wordt meestal als irritant ervaren en daardoor niet geaccepteerd door de moderator(s) van het forum waardoor degene die bumpt een waarschuwing of ban kan krijgen. Ook kan de gebumpte thread gesloten worden, wat inhoudt dat er geen reacties meer aan toegevoegd kunnen worden. bron:WikiPedia)

Reageren