[PHP en MySQL] Variable +1

Pagina: 1
Acties:
  • 268 views

Acties:
  • 0 Henk 'm!

  • Maarten Kroon
  • Registratie: Maart 2006
  • Laatst online: 04-04 16:53
Ik probeer een variabele uit een MySQL database op te halen met PHP en hier eentje bij op te tellen, om deze vervolgens in een tekstvak te plaatsen. Nu lukt het ophalen en in het tekstvak plaatsen, maar het lukt me niet om er 1 bij op te tellen. Kan iemand hiermee helpen? Hieronder het script, het gaat in dit geval om patientnummer.

<html>
<head>
<title>Insert</title>
</head>
<body>

<?
mysql_connect("XXXX", "XXXX", "XXXX")or die("Er kan geen verbinding worden gemaakt met de database");
mysql_select_db("XXXX_nl_db")or die("De database kan niet worden gevonden");

$result=mysql_query("SELECT MAX(Patientnummer) FROM Patient");
?>

<table>
<form method = post action = hoofdmenu.php>
<tr>
<th>Patientnummer</th>
<th>BSN</th>
</tr>
<tr>
<?
while($row = mysql_fetch_array($result)) {
echo "<td><input size = 25 type = text name = patientnummer value = " . $row['MAX(Patientnummer)'] . " </td>";
}
?>
<td><input type= text name = bsn></td>
</tr>

<tr>
<th>Voornaam</th>
<th>Roepnaam</th>
<th>Tussenvoegsel</th>
<th>Achternaam</th>
<th>Geslacht</th>
</tr>
<tr>
<td><input size = 25 type = text name = voornaam></td>
<td><input size = 25 type = text name = roepnaam></td>
<td><input size = 25 type = text name = tussenvoegsel></td>
<td><input size = 25 type = text name = achternaam> </td>
<td><input size = 25 type = text name = geslacht> </td>
</tr>
<tr>
<th>Adres</th>
<th>Woonplaats</th>
<th>Telefoonnr</th>
</tr>
<tr>
<td><input size = 25 type = text name = adres> </td>
<td><input size = 25 type = text name = woonplaats> </td>
<td><input size = 25 type = text name = telefoonnummer> </td>
</tr>
<tr>
<th>Zorgverzekeraar</th>
<th>Verzekeringsnr</th>
<tr>
<td><input size = 25 type = text name = zorgverzekeraar> </td>
<td><input size = 25 type = text name = verzekeringsnummer> </td>
<input type = hidden name = idnummer>
</tr>
</table>
<br>
<input type = submit name = nieuw value = Toevoegen>
</form>
</body>
</html>

Acties:
  • 0 Henk 'm!

  • steffex
  • Registratie: Augustus 2003
  • Laatst online: 12-08 00:24
je krijgt maar 1 mysql_result row terug... waarom gebruik je een while?

daarnaast kun je gewoon de max uit de tabel direct met 1 ophogen hoor!

dit is basic php en mysql... waar heb je al op gezocht via google en got search?

Acties:
  • 0 Henk 'm!

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 19-09 08:51

Janoz

Moderator Devschuur®

!litemod

Ten eerste is het handig om code tags te gebruiken ( [php] en bijbehorende sluittag) zodat je code wat leesbaarder wordt.

Ten tweede staat hier hoe je in php rekenkundige operaties doet.

Maar het belangrijkste van allemaal is dat deze oplossing een joekel van een race probleem bevat.

Wat gebeurt er bijvoorbeeld wanneer er een tweede persoon begint met het opvoeren van een patient wanneer de eerste persoon nog niet klaar is?

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Acties:
  • 0 Henk 'm!

  • cariolive23
  • Registratie: Januari 2007
  • Laatst online: 18-10-2024
Ik probeer een variabele uit een MySQL database op te halen met PHP en hier eentje bij op te tellen
En wat als 5 mensen dit zelfde nummer opvragen? Dan krijg je 5 formulieren (op 5 pc's) met dezelfde nieuwe waarde. Gevolg: Een corrupte database of 4 gebruikers die met een probleem zitten, ze kunnen hun nieuwe dossier niet aanmaken.

MySQL kan niet vooraf een nieuw nummer aanmaken, ga dit dan ook vooral niet doen. Tenzij je extra bugs wilt hebben... Gebruik gewoon een auto_increment, dan weet je achteraf welk nummer is toegekend.

Ik mag aannemen dat dit een leuk probeerseltje is voor thuis en vooral geen echte werkende applicatie moet worden? MySQL en betrouwbare data, dat is geen feest.

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
cariolive23 schreef op maandag 25 januari 2010 @ 13:32:
Ik mag aannemen dat dit een leuk probeerseltje is voor thuis en vooral geen echte werkende applicatie moet worden? MySQL en betrouwbare data, dat is geen feest.
Als het een echte app is maak ik me eerlijk gezegd meer zorgen om de combinatie gevoelige patientendata en het niveau van de topicstarter.

{signature}


Acties:
  • 0 Henk 'm!

  • cariolive23
  • Registratie: Januari 2007
  • Laatst online: 18-10-2024
Voutloos schreef op maandag 25 januari 2010 @ 13:34:
[...]
Als het een echte app is maak ik me eerlijk gezegd meer zorgen om de combinatie gevoelige patientendata en het niveau van de topicstarter.
De combinatie gevoelige patientendata, het niveau van de topicstarter én MySQL, dat is een nog grotere zorg.

:?

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Als je al niet weet hoe je een veldje met één ophoogt terwijl je de juiste operatie én syntax in je topictitel hebt staan, dan kun je inderdaad maar beter ver weg blijven bij patiëntendossiers. Sowieso is de enige juiste oplossing hier natuurlijk een auto-increment en het feit dat je die niet kent vind ik zo mogelijk nog zorgwekkender.

Het lijkt me beter als je eerst eens even de basis gaat leren. Even stoppen met programmeren en gewoon éérst de basis eigen maken. Hiermee ga je jezelf (en anderen, als het een écht project is) gigantisch in de eigen voeten schieten.
cariolive23 schreef op maandag 25 januari 2010 @ 13:38:
[...]

De combinatie gevoelige patientendata, het niveau van de topicstarter én MySQL, dat is een nog grotere zorg.

:?
Laat die sneer naar MySQL maar zitten de volgende keer; het feit dat MySQL gebruikt wordt zegt niks over de veiligheid van de data. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.