Hoi,
ik heb een query aangemaakt om te tellen of in een tabel een record voorkomt met een bepaalde code. Als dit het geval is (de waarde is dus groter dan 0), dan moet een icoon getoond worden waarop geklikt kan worden. Dit lukt dus vooralsnog niet.

De query is deze (gemaakt met Dreamweaver):

mysql_select_db($database_conn_syn, $conn_syn);
$query_number = sprintf("SELECT COUNT(*) as 'number' FROM vo WHERE projectcode = %s", GetSQLValueString($colname_number, "text"));
$number = mysql_query($query_number, $conn_syn) or die(mysql_error());
$row_number = mysql_fetch_assoc($number);
$totalRows_number = mysql_num_rows($number);


En de code van het deel waarin de uitkomst van de query gebruikt wordt is dit:

<?php if ($query_number > 0) { ?><img src="beeld/knop-vo.jpg" alt="voorlopig ontwerp" name="vo" width="24" height="24" id="vo" onmouseover="MM_swapImage('vo','','beeld/knop-vo-licht.jpg',0)" onmouseout="MM_swapImgRestore()" /><?php ;} ?>


Hoe kan ik ervoor zorgen dat de icoon dus alleen getoond wordt wanneer de projectcode in de tabel voorkomt? Nu wordt de icoon nooit getoond...
gebruik a.u.b. code-tags
- Aar - op 17/02/2011 23:00:29

gebruik a.u.b. code-tags



????????
Ben geen php expert, weet niet wat je bedoelt...

waarom die sprintf?
Justin S op 18/02/2011 13:47:43

waarom die sprintf?


Geen idee, is door Dreamweaver gegenereerd.
Sorry, ik stel een volgens mij niet zo lastige vraag, maar krijg er niet echt antwoord op.
Hoe moet ik mijn code aanpassen zodat alles werkt zoals gewenst?
[offtopic]Hmm. Even mijn glazen bol opzoeken hoor. Lang niet gebruikt.[/offtopic]

Bedoel je zoiets? Het is mij een beetje een onduidelijke vraag met een vreemd op elkaar gepropte code.

<?php 

$sql = "
    SELECT
        *
    FROM
        vo
    WHERE
	projectcode = ".$projectcode."
";

if(!$res = mysql_query($sql))
{
    trigger_error(mysql_error().'<br />In query: '.$sql);
}


if(mysql_num_rows($res) == 1)
	{
?>
<a href="#"><img src="beeld/knop-vo.jpg" alt="voorlopig ontwerp" name="vo" width="24" height="24" id="vo" onmouseover="MM_swapImage('vo','','beeld/knop-vo-licht.jpg',0)" onmouseout="MM_swapImgRestore()" /></a>
<?php
	} 
?>
Bon, wat je voor eerst moet doen: let wat op de naam van je variabelen.
Je maakt het verwarrend voor jezelf.

Traditioneel doet men zo-iets:
<?php
$sql = "SELECT id, naam, ...";
$res = mysql_query($sql);
while($row = mysql_fetch_assoc($res)) {
...
}
?>

Zo weet je altijd waarmee je bezig bent:
$sql is de sql string
$res is een resource.
$row geeft je 1 record, in een array gegoten.

Bij jou:
$query_number
Wat is dat?

Eerst gebruik je die variabele om de sql sting in te steken.

Dan vraag je
if ($query_number > 0)

Een string die begint met 'SELECT COUNT...' zal nooit groter zijn dan 0
OK, dat is duidelijk.
Hoe kan ik er dan voor zorgen dat het getal dat als resultaat van de query ontstaat, als variabele te gebruiken is?
Als getal moet er een 0 of een groter getal uitkomen, want dat is bepalend voor het wel of niet tonen van een icoon.

Reageren