zoeken naar projectcode en wanneer aanwezig een pic tonen
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):
En de code van het deel waarin de uitkomst van de query gebruikt wordt is dit:
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...
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):
Code (php)
1
2
3
4
5
2
3
4
5
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);
$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:
Code (php)
1
<?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...
Gewijzigd op 18/02/2011 12:40:10 door Bas IJzelendoorn
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...
Gewijzigd op 18/02/2011 12:22:13 door -- Marcel --
Dat is dit: [code] [/code], Ik heb het inmiddels al veranderd. [/modedit]
waarom die sprintf?
Justin S op 18/02/2011 13:47:43:
waarom die sprintf?
Geen idee, is door Dreamweaver gegenereerd.
sprintf is daar ideaal voor.
Er is geen enkele reden om dat af te raden.
Het doet denken aan de sql strings die je maakt voor pdo met prepared statements
http://www.phphulp.nl/php/tutorial/overig/pdo-verbinden-met-verschillende-databases/534/prepared-statements/1368/
Er is geen enkele reden om dat af te raden.
Het doet denken aan de sql strings die je maakt voor pdo met prepared statements
http://www.phphulp.nl/php/tutorial/overig/pdo-verbinden-met-verschillende-databases/534/prepared-statements/1368/
Gewijzigd op 21/02/2011 14:42:30 door Kris Peeters
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?
Hoe moet ik mijn code aanpassen zodat alles werkt zoals gewenst?
Offtopic:
Hmm. Even mijn glazen bol opzoeken hoor. Lang niet gebruikt.
Bedoel je zoiets? Het is mij een beetje een onduidelijke vraag met een vreemd op elkaar gepropte code.
Hmm. Even mijn glazen bol opzoeken hoor. Lang niet gebruikt.
Bedoel je zoiets? Het is mij een beetje een onduidelijke vraag met een vreemd op elkaar gepropte code.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?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
}
?>
$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:
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
Je maakt het verwarrend voor jezelf.
Traditioneel doet men zo-iets:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$sql = "SELECT id, naam, ...";
$res = mysql_query($sql);
while($row = mysql_fetch_assoc($res)) {
...
}
?>
$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.
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.
Controleer eens of dit doet wat je verwacht
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<?php
$sql = sprintf(
"SELECT COUNT(*) as 'number' FROM vo WHERE projectcode = %s",
GetSQLValueString($colname_number, "text")
);
$res = mysql_query($query_number, $conn_syn) or die(mysql_error());
if ($row = mysql_fetch_assoc($number)) {
// $row['number'] geeft je nu aan hoeveel records deze code hebben
echo $row['number'];
}
?>
$sql = sprintf(
"SELECT COUNT(*) as 'number' FROM vo WHERE projectcode = %s",
GetSQLValueString($colname_number, "text")
);
$res = mysql_query($query_number, $conn_syn) or die(mysql_error());
if ($row = mysql_fetch_assoc($number)) {
// $row['number'] geeft je nu aan hoeveel records deze code hebben
echo $row['number'];
}
?>
Dit werkt niet goed.
Als ik de code precies zo overneem, krijg ik een foutmelding omdat de variabele $number niet is gedefinieerd, denk ik.
Als ik van $number, $res maak is er geen foutmelding meer, maar werkt het ook niet. Het aantal records wordt niet getoond en de icoon verschijnt niet.
Als ik de code precies zo overneem, krijg ik een foutmelding omdat de variabele $number niet is gedefinieerd, denk ik.
Als ik van $number, $res maak is er geen foutmelding meer, maar werkt het ook niet. Het aantal records wordt niet getoond en de icoon verschijnt niet.
Je moet niet zomaar de code overnemen. Je moet zelf denken en zelf schrijven.
Karl Karl, ik ben geen programmeur, ik kan zulke dingen niet schrijven. Ik kan wel code aanpassen.
Mijn idee was dat dit een site is voor dit soort vragen en dat men je graag helpt.
En zoals ik al eerder schreef: volgens mij stel ik een vrij eenvoudige vraag, die een beetje programmeurs zo oplost, ook al zijn de variabelen die gebruikt worden misschien niet zo logisch.
Kris, ik waardeer je hulp, we komen er vast wel uit.
Mijn idee was dat dit een site is voor dit soort vragen en dat men je graag helpt.
En zoals ik al eerder schreef: volgens mij stel ik een vrij eenvoudige vraag, die een beetje programmeurs zo oplost, ook al zijn de variabelen die gebruikt worden misschien niet zo logisch.
Kris, ik waardeer je hulp, we komen er vast wel uit.
@Marcel; Precies, wij zijn programmeurs en moeten het voor jouw oplossen? NEE zo werkt het niet, dan verwijs ik je graag door naar de vacature hoek. Het heet phpHULP, jij stelt de vraag, post de code en geeft aan wat er fout gaat en wij proberen je een duwtje in goede richting te geven tot jij post: "Probleem opgelost, bedankt voor de hulp"...
OK, nou blijkbaar ben ik niet op de juiste website aan beland dan.
Probleem niet opgelost, bedankt voor de hulp...
Probleem niet opgelost, bedankt voor de hulp...




