[quote=SanThe schreef op 23.07.2006 10:57]@Willem_vp: Moet dat dan niet zo zijn, want $row bestaat volgens mij niet.
<?php
$oms = mysql_result($res,3,'omschrijving');
$oms = substr($oms,0,74);
echo $oms
?>
Uiteraard. Ik denk dat Willem_vp mysql_result nooit gebruikt en automatisch $row schrijft :-)
[/quote]
Ik denk dat ik aan de telefoon zat en na mijn copy/paste-actie was vergeten de code aan te passen ;-)
[quote=Jan Koehoorn schreef op 23.07.2006 11:24][quote=SanThe schreef op 23.07.2006 10:57]@Willem_vp: Moet dat dan niet zo zijn, want $row bestaat volgens mij niet.
<?php
$oms = mysql_result($res,3,'omschrijving');
$oms = substr($oms,0,74);
echo $oms
?>
Uiteraard. Ik denk dat Willem_vp mysql_result nooit gebruikt en automatisch $row schrijft :-)
[/quote]
Ik denk dat ik aan de telefoon zat en na mijn copy/paste-actie was vergeten de code aan te passen ;-)[/quote]
Hahahaha!
@Robin: voor het geval het erom gaat alleen bepaalde records uit je tabel te halen, kun je een query als deze gebruiken:
SELECT veld1, veld2, omschrijving
FROM tabelnaam
WHERE id IN ( 1, 3, 5, 7, 9 ) // voer hier je eigen nummers in
maar dit werkt alleen goed indien je een loop gebruikt, echter de resultaten die ik naar het scherm wil schrijven liggen dus al vast, dus moet het naar mijn mening iets worden als:
<?php echo(mysql_result($res,3,$oms)); ?>
En dat is dus de gedachtenkronkel die ik bedoelde.
Wat het gebruik van $oms met loops heeft te maken, begrijp ik niet. Dat heeft het namelijk niet. $oms is gewoon een variabele waar je een tijdelijke waarde in bewaart:
In regel 1 vraag je de omschrijving op (waar je die $row vandaan haalt laat je overigens niet weten) en die ken je toe aan $oms. $oms heeft nu dus de waarde "Gehaktballen" of zo.
In regel 2 vraag je via mysql_result op wat de waarde is van het veld "Gehaktballen" in het derde resultaat-record van je query. Maar je HEBT helemaal geen veld "Gehaktballen", want je wilt de waarde van het veld "omschrijving" hebben. En daar loopt MySQL dus de soep (met gehaktballen) in ;-)
$sql = "SELECT link,omschrijving FROM pm WHERE categorie='fietsen' AND soort='citybikes' ORDER BY RAND() LIMIT 0,48";
$res = mysql_query($sql) or trigger_error(mysql_error());
Op zeg maar 20 verschillende plekken van mijn pagina wil ik de omschrijving random weergeven. Omdat er dus geen dubbele omschrijvingen op de pagina mogen verschijnen wil ik een specifieke rij (van de omschrijving) echo-en.
$sql = "SELECT link,omschrijving FROM pm WHERE categorie='fietsen' AND soort='citybikes' ORDER BY RAND() LIMIT 0,48";
$res = mysql_query($sql) or trigger_error(mysql_error());
If (strlen($res['omschrijving']) > 74)
{ $oms = substr($res['omschrijving'],0,74);}
?>
bij je if vraag je om:
$res['omschrijving']
maar dat gaat niet want je hebt hem nog niet gefetched zoals jan koehoorn uitlegde
en daarom werkt hij zonder if wel:)
haal $res eerst maar door mysql_fetch_assoc() heen.
vervolgens heb je een whileloopje nodig die de rest voor je doet.
maar het is dan ook handig om je query aan te passen als eerder aangegeven hier omdat de regels die je wilt toch al bekend zijn, waarom alles ophalen als je toch al weet wat je nodig hebt:)
ik zal dat eens proberen, maar op zich mag dat geen verschil uitmaken naar mijn mening.
zoek niet teveel dekking achter je mening en sta open voor andere mogelijkheden