Hallo,

ik heb een formuliertje gemaakt om een berekening te maken , die prima werkt:
<?php
if (isset($_POST['bereken']))
{
$drop_down = $_POST['drop_down'];
$ampere = $_POST['ampere'];
$kva = $drop_down * $ampere * 1.732 / 1000 ;
}
?>
Deze staat in het formulier:
"<?php echo round($kva,0)?>"

In de drop down kan men kiezen tussen 230 V en 400 V
Ampere moet ingevuld worden
de term "kva" is het resultaat

Nu wil ik gegevens uit de databank halen die voldoen aan het resultaat van de berekening. Dus als de uitkomst 20 kva is, dat eronder de producten getoond worden die aan deze uitkomst voldoet.
mysql_query("SELECT gegevens FROM producten WHERE kva = '" . $kva . "'");
?
Hallo ,

Alvast bedankt voor de snelle hulp, ik ben er al druk mee bezig, maar krijg nog een foutmelding :
Query mislukt: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE `kva` = '13.856'' at line 1

dit is mijn code totnogtoe, maar ik zoek verder. Het probleem is dat ik nog maar een beginner ben, en dus nog veel moet leren !!

<?php
if (isset($_POST['bereken']))
{
$drop_down = $_POST['drop_down'];
$ampere = $_POST['ampere'];
$kva = $drop_down * $ampere * 1.732 / 1000 ;
$sql = "SELECT kva";
$sql .= "FROM `motoren`";
$sql .= "WHERE `kva` = '" . $kva . "'";

require_once('mysql_connect.inc.php');
$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD)
or die("Verbinding mislukt: " . mysql_error());
mysql_select_db("groepen") or die("Kon de database niet openen: " . mysql_error());
$resultaat = mysql_query($sql) or die("Query mislukt: " . mysql_error());
echo "<center>";
echo "<table width = '400' border='1'>
<tr>
<th>naam</th>
<th>type</th>
<th>kva</th>

</tr>";
while($row = mysql_fetch_array($result))
{
echo "<center>";
echo "<tr>";
echo "<td>" . $row['naam'] . "</td>";
echo "<td>" . $row['type'] . "</td>";
echo "<td>" . $row['kva'] . "</td>";

echo "</tr>";
echo "</center>";

}
echo "</table>";
echo "</center>";
mysql_free_result($result);
mysql_close($verbinding);
}

?>

Nogmaals dank aan alle mensen die me steunen !
Een <center> moet je niet meer gebruiken en ook niet om een <tr> heen plaatsen. Gebruik voor je echo's overigens enkele quotes, zodat je in je html dubble quotes kunt gebruiken.
Hallo,

Ik nu reeds een stuk verder : De berekening wordt correct uitgevoerd, de tabel waarin de opgevraagde gegevens(resultaat berekening) staat er, maar de gegevens komen niet te voorschijn. Er is geen enkele foutmelding meer.

Kunnen jullie nog even kijken als het past ?

Dit is mijn code tot nu :

<?php
if (isset($_POST['bereken']))
{
$drop_down = $_POST['drop_down'];
$ampere = $_POST['ampere'];
$kva = $drop_down * $ampere * 1.732 / 1000 ;
$sql = "SELECT `kva`";
$sql .= "FROM `motoren`";
$sql .= "WHERE `kva` = '" . $kva . "'";

require_once('mysql_connect.inc.php');
$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD)
or die("Verbinding mislukt: " . mysql_error());
mysql_select_db("groepen") or die("Kon de database niet openen: " . mysql_error());
$resultaat = mysql_query($sql) or die("Query mislukt: " . mysql_error());
echo "<center>";
echo "<table width = '400' border='1'>
<tr>
<th>naam</th>
<th>type</th>

</tr>";
while($row = mysql_fetch_assoc($resultaat))
{

echo "<tr>";
echo "<td>" . $row['naam'] . "</td>";
echo "<td>" . $row['type'] . "</td>";
echo "</tr>";
echo "</table>";
}

In mijn formulier :

<?php echo round($kva,0)?>

Alvast bedankt voor jullie de moeite.
Je SELECT alleen kva, en vervolgens echo je naam & type; dat kan natuurlijk niet.
Geen backtics gebruiken in een query!
Waarom niet wat meer op een regel? Die query kan in 1 regel, veel makkelijker.
Gebruik enkele quotes in PHP (zoveel mogelijk, behalve MySQL), en dubbele quotes in HTML (altijd, javascript uitzondering).
Database connectie helemaal bovenaan zetten. Zodat het overzichtelijk blijft.
Hallo Arjan,

Ik heb inderdaad een fout gemaakt bij SELECT : nu heb ik daar 'naam' , 'type' geplaatst. Ik krijg terug het resultaat in het formulier, maar de gegevens die overeen stemmen met dat resultaat, krijg ik niet te zien. Ik heb geen foutmeldingen.


Hallo Dennis,

Ik ben een beginneling en heb dit geleerd in een cursus php die u momenteel aan het volgen ben. In ieder geval bedankt voor de tips, want over die backtics en die enkele quotes is er nog niets gezegd in de les.


Ik zoek gewoon verder, moesten jullie nog oplossingen hebben, dan hoor ik het graag.

Dank.
Echo je $sql eens en gooi die eens in PHPMyAdmin o.i.d.
Ik zou zoiets gebruiken!

<?php
require_once 'mysql_connect.inc.php';
mysql_connect('', '', '') or die('Verbinding mislukt: '.mysql_error());
mysql_select_db('') or die('Kon de database niet openen: '.mysql_error());

if($_SERVER['REQUEST_METHOD'] == 'POST') //Controleer of er op de knop is gedrukt 
{
	$resultaat = mysql_query("SELECT naam, type FROM motoren WHERE kva = ".($_POST['drop_down'] * $_POST['ampere'] * 1.732 / 1000)) or die("Query mislukt: " . mysql_error());

	echo '<center>
	<table width="400" border="1">
	 <tr>
	  <th>naam</th>
	  <th>type</th>
	 </tr>';
	while($row = mysql_fetch_assoc($resultaat))
	{
	  
		echo '
		 <tr>
		  <td>'.$row['naam'].'</td>
		  <td>'. $row['type'].'</td>
		 </tr>';
	}
	echo '</table>
	</center>';
}


Edit
Let op dat ik zeg dat ik ZOIETS zou gebruiken. Je mist nu nog een beveiliging voor de database etc. etc. ;)

Daarnaast vraag ik mij af hoeveel kva's hetzelfde zijn. Is elk kva uniek?

Dan hoef je geen while-loop te gebruiken.
Lekker voorbeeld dennis;

- Or die? Ranzig!
- Geen controle of de query resultaat oplevert.
- MySQL Injections.

etc etc

Reageren