kan iemand eens meekijken naar het volgende
met onderstaande creeer ik een lijst met gegevens deze kan ik selecteren / lijn aangegeven door de sql database
nu stel ik heb 5 rijen in mijn tabel dan toont hij zonder pardon alle gegevens keurig.
ik heb een foto als submit button (als laatste kolom).
de bedoeling is dat ik wanneer ik een rij selecteer hij de onderhoud_id toont van de desbetreffende lijn
hier wringt het, het maakt niet uit welke lijn maar hij selecteert altijd de laatste rij (laatste id)
ik heb al vanalles geprobeerd maar ik vind de fout niet?


<form action="xxx/cms/updaten/adjust_onderhoud.php" method="post" enctype="multipart/form-data">
<table width="1200" border="0" cellspacing="0" cellpadding="0" >
<td colspan='5'><h1>Onderhoudsbeurten overzicht</h1></td>
<input name="klant" type="hidden" value="<?php echo $_SESSION['klant'];?>" />
<tr>
      <td width="144" height="34" class='styleborder' align="left">Datum</td>
      <td colspan='2' class='styleborder'>Soort onderhoud</td>
      <td width="423" class='styleborder'>notitie</td>
      <td width="251" class='styleborder' >&nbsp;</td>
      <td width="180" class='styleborder' >&nbsp;</td>
</tr>
  <?php 
$onderhoud_sql= mysqli_query($link,"SELECT *,DATE_FORMAT(Datum_onderhoud, '%d.%m.%Y') AS Datum_onderhoud_NL FROM onderhoud WHERE Klant_ID='$klant_ID' ORDER BY Datum_onderhoud DESC");

  while($toon_onderhoud_sql = mysqli_fetch_array($onderhoud_sql))
{
$onderhoud_id=$toon_onderhoud_sql['Onderhoud_ID'];
$Datum=$toon_onderhoud_sql['Datum_onderhoud_NL'];
$typeonderhoud=$toon_onderhoud_sql['typeonderhoud'];
$notities=$toon_onderhoud_sql['notities'];
//tabel laten tonen
 echo"<tr>";
   echo"<td colspan='1'  class='styleborder2' valign='top'>".$Datum."</td>";
   echo"<td colspan='2' valign='top' class='styleborder2'>".$typeonderhoud."</td>";
   echo"<td width='500' valign='top' class='styleborder2'>".$notities."</td>";
   echo"<td align='center'valign='top' class='styleborder2'>";
//fotos tonen
$mini = "../gema/onderhoudpic/";
$sql_foto = ("SELECT foto_naam, onderhoud_id FROM klantfotoonderhoud WHERE onderhoud_id='$onderhoud_id'");
$result_foto=mysqli_query($link,$sql_foto);
while($row1 = mysqli_fetch_array($result_foto))
{
$foto=  htmlspecialchars($row1['foto_naam']);
$groep=  htmlspecialchars($row1['onderhoud_id']);
echo "<a href=".$mini.$foto." class='lytebox' data-lyte-options='group:".$groep." titleTop:true navTop:true' data-description=''><img src=".$mini.$foto." width='80'/></a>"; 
}
   echo "</td>";
//hidden id field
   echo"<input name='onderhoud_id' type='hidden' value='".$onderhoud_id."'/>";

   echo"<td align='center'valign='top' class='styleborder2'><input type='image' name='submit' src='menu-admin/edit.png' width='40' height='40' border='0' alt='Edit onderhoud' /> </td>";
 echo"</tr>";
} ?> 
 </table></form>
<p>


[size=xsmall]Toevoeging op 02/08/2016 21:14:09:[/size]

ok topic gesloten

form tag juist voor mijn submit button gezet en nu doet hij het wel.

   echo"<form action='gema/cms/updaten/adjust_onderhoud.php' method='post' enctype='multipart/form-data'><input name='klant' type='hidden' value='".$_SESSION['klant']."'/>

<td align='center'valign='top' class='styleborder2'><input name='onderhoud_id'  value='".$onderhoud_id."'/><input type='image' name='submit' src='menu-admin/edit.png' width='40' height='40' border='0' alt='Edit onderhoud' /> </form></td>";
 echo"</tr>";
Beste Chris,

zover ik weet sluiten ze hier geen topics en vandaar dat ik toch nog graag even een reactie wil achterlaten.
Je schrijft dat je zelf de fout niet kunt vinden. Dit komt mijn inziens omdat bovenstaande code nogal ongestructureerd is. Je begint met de output van de HTML en zelfs van de HTML tabel al voor dat je weet of je query wel het gewenste resultaat oplevert. Stel nou dat er helemaal geen records (of rows) in de tabel gevonden worden? Je hebt dan de kop van je tabel al 'uitgespuugd'. Beetje jammer want een divje met de tekst 'geen informatie gevonden' zou wel zo verhelderend geweest zijn.

Daarom:
- Begin zoveel mogelijk met PHP. Je hoeft namelijk echt niet direct je variabelen te echoën. dat kan aan het einde ook. Sterker nog: je moet helemaal niets echoën in het logica gedeelte.
- Eindig met enkel HTML met daar tussen door een stukje PHP waarin je enkel je variabelen echo't.


[size=xsmall]Toevoeging op 02/08/2016 22:24:57:[/size]


<?php

// begin altijd met PHP en niet met HTML


// declaratie van de variabelen
$tekst = 'geen blabla gevonden.';

// logica 
if($blabla === true)
	$tekst = 'wat een blabla :-)';

// hieronder beginnen we met de output
?>
<doctype!>
<html>
	<head>
		<title>hallo</title>
	</head>
	<body>
		<p><?php echo $tekst; ?></p>
	</body>
</html>

Dag Chris,

Fijn om te horen dat het opgelost is. Maar zou je in het vervolg een duidelijke topictitel aan je topic willen meegeven. Iets in de trant van: 'script werkt niet' is behoorlijk nietszeggend voor mensen die de titel lezen.

Verder sluiten we niet zomaar topics hier, tenzij ze niet voldoen aan de huisregels van de site. Topics zinken anders vanzelf wel naar beneden in de topicslijst.

Reageren