hoe geef ik een variabele door die afhankelijk is van de klik

Status
Niet open voor verdere reacties.

eschout

Nieuwe gebruiker
Lid geworden
18 aug 2012
Berichten
4
Ik heb een lijst met projecten die ik uit de database haal en die heb ik in een tabel gezet en die ik op het scherm laat zien. De bedoeling is dat de gebruiker op één van de projectnummers kan klikken en dat betreffende projectnr moet ik dan doorgeven naar de volgende pagina. Het is geen punt om variabelen door te geven, maar ik geef elke keer het laatste projectnr uit de array door en ik snap ook waarom. Hoe vul ik die variabele nou afhankelijk van waar de gebruiker op klikt?
Een uitgewerkt voorbeeld mag ook, dat puzzel ik wel uit.

De code ziet er nu zo uit:
$sql="SELECT * FROM project;";
$result=mysql_query($sql);

while($row=mysql_fetch_array($result)){
$_SESSION["projectnr"]=$row["projectnr"];
echo ("<tr><td class=projectentabelregel colspan=2><a href=detailproject.php>".$_SESSION["projectnr"]."</a>: ".$row["korteoms"]."</td></tr>");}

Alvast bedankt voor het meedenken, Eric
 
Wat ik zou doen, onder die case openproject kun je bijvoorbeld headeren naar de juiste pagina, of de dingen van je project op vragen. ook al zou dit onderaan kunnen.
PHP:
$sql="SELECT * FROM project;";
$result=mysql_query($sql);
if(!isset($_GET['action'])
while($row=mysql_fetch_array($result)){
echo ("<tr><td class=projectentabelregel colspan=2><a href=detailproject.php?action=OpenProject&projectnr=".$row["projectnr"].">".$row["projectnr"]."</a>: ".$row["korteoms"]."</td></tr>");
}
else
{
switch($_GET['action'])
{
case "OpenProject":
if(isset($_GET['projectnr']))
{
$_SESSION['projectnr'] = $_GET['projectnr'];
}
break;
}
}
 
wow, dankjewel royb3 voor de snelle reactie!
Ik heb deze nog niet eerder gezien, maar ben dan ook een newbie.
Hij ziet er logisch uit, maar toch valt hij over een syntaxerror op het whilestatement. Ik heb al wat geprobeerd, maar krijg het niet opgelost.
Ik dacht eerst dat je een paar accolades gemist had tussen de if en de else, maar dan krijg ik een foutmelding op de accolade openen.
De fout is alsvolgt: Parse error: syntax error, unexpected T_WHILE in ....
 
Laatst bewerkt:
PHP:
$sql="SELECT * FROM project;";
$result=mysql_query($sql);
if(!isset($_GET['action'])
{
$rows = mysql_fetch_assoc($result)
foreach($rows as $row)
{
echo ("<tr><td class=projectentabelregel colspan=2><a href=detailproject.php?action=OpenProject&projectnr=".$row["projectnr"].">".$row["projectnr"]."</a>: ".$row["korteoms"]."</td></tr>");
}
}
else
{
switch($_GET['action'])
{
case "OpenProject":
if(isset($_GET['projectnr']))
{
$_SESSION['projectnr'] = $_GET['projectnr'];
}
break;
}
}
 
Weer zo'n snelle reactie, SUPER!
Ik loop tegen eenzelfde fout aan. Op de accolade openen na de if.


De hele php ziet er zo uit
<div id=projectenvak>
<table id=projectentabel>
<tr><td class="projectentabelregel"> <br>Projecten:<br></td></tr>

<?php
$dbhost="localhost";
$dbuser="x";
$dbpaswoord="x";
$dbdatabase="x";
$db=mysql_connect($dbhost, $dbuser, $dbpaswoord);
mysql_select_db($dbdatabase, $db);

$sql="SELECT * FROM project;";
$result=mysql_query($sql);
if(!isset($_GET['action'])
{
$rows = mysql_fetch_assoc($result)
foreach($rows as $row)
{ echo ("<tr><td class=projectentabelregel colspan=2>-----------------------------------------------------------------------------------------------------------------------------<br></td></tr>");
echo ("<tr><td class=projectentabelregel colspan=2><a href=detailproject.php?action=OpenProject&projectnr=".$row["projectnr"].">".$row["projectnr"]."</a>: ".$row["korteoms"]."</td></tr>");
echo ("<tr><td class=projectentabelregel>Rendement: ".$row["rendement"]."%<td class=projectentabelregel>Streefbedrag: ".$row["streefbedrag"]."</td></tr>");
echo ("<tr><td class=projectentabelregel>Risico: ".$row["risico"]."<td class=projectentabelregel>Percentage bereikt: ".$row["percvol"]."%</td></tr>");
}
}
else
{
switch($_GET['action'])
{
case "OpenProject":
if(isset($_GET['projectnr']))
{
$_SESSION['projectnr'] = $_GET['projectnr'];
}
break;
}
}
?>
<?php
echo("</table>");
?>
</div>
 
Ik ben er uit!
Eigenlijk was het heel simpel. het enige wat ik in de oude originele code moest vervangen was de <a href .... </a> in <a href=detailproject.php?id=".$row["projectnr"].">".$row["projectnr"]."</a>:
In het volgende programma pak je dan de varianele op met $projectnr= $_GET[ïd]";

Ik denk dat ik je gewoon niet goed genoeg heb uitgelegd wat ik wilde. Sorry!
Dank voor al je hulp!
Eric
 
even die fout in mijn laatste script komt omdat ik een punt-comma was vergeten:
$rows = mysql_fetch_assoc($result)
moet zijn:
$rows = mysql_fetch_assoc($result);
en dankzij de tip van dnties ben ik erachter gekomen dat ik nog een foutje niet had gezien, volgende keer zal ik het zelf eerst maar moeten debuggen :D.
if(!isset($_GET['action'])
moet zijn:
if(!isset($_GET['action']))
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan