abonnement Unibet Coolblue Bitvavo
  dinsdag 26 april 2011 @ 14:03:51 #91
91039 mstx
2x1/2 = 1/2 x 1/2
pi_95993592
quote:
0s.gif Op dinsdag 26 april 2011 14:00 schreef afro het volgende:
Weet iemand hoe ik dit moet gaan doen?

Ik heb tien input velden, zoals hieronder, deze moeten allemaal de database doorzoeken en aparte resultaten krijgen. Nu is het probleem dat alleen de eerste werkt (logisch).
[ code verwijderd ]

PHP
[ code verwijderd ]

Hoe zorg ik ervoor dat het voor elke input apart word "verwerkt".
1
2
3
4
5
<?php
foreach ( $_POST['Artikelnummer'] as $k=>$v ) {
 
// hier de code die bij elk veld in de database gaat zoeken, $v is de waarde van het veld en $k de index
}
?>
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_95995750
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<form method="post">
<textarea name="Artikelnummer[]"></textarea>
<textarea name="Artikelnummer[]"></textarea>
<input type="submit">
</form>
<?php
foreach($_POST['Artikelnummer'] as $Artikelnummer)
{
include 
'Jalalalala.php';
@
$sql="(SELECT Artikelnummer, Naam, Prijs FROM producten WHERE Artikelnummer =('$Artikelnummer'))";
$result mysql_query($sql)or die(mysql_error());
$rows mysql_num_rows($result);

If(
$rows == 0) {
echo 
"<td class='productnaam'>";
echo 
"Nummer niet gevonden";
echo 
"</td>";

echo 
"<td class='prijs'>";
echo 
"";
echo 
"</td>";

else 
{
$fetch mysql_fetch_assoc($result);
echo 
"<td class='productnaam'>";
echo 
$fetch['Naam'];
echo 
"</td>";

echo 
"<td class='Prijs'>";
echo 
"&euro; ";
echo 
$fetch['Prijs'];
echo 
"</td>";
}
     }
?>

Gelukt ^O^ Dank u!

[ Bericht 38% gewijzigd door afro op 26-04-2011 16:10:15 ]
...
pi_96002357
Ten eerste: zwaar onveilig de manier die je nu gebruikt..
Ten tweede: dit is nou precies een situatie waar prepared staments voor ontwikkeld is...
  dinsdag 26 april 2011 @ 17:45:50 #94
75592 GlowMouse
l'état, c'est moi
pi_96002495
Ten derde: wat een rare include
Ten vierde: een query binnen een loop is in dit geval erg onnodig
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_96012824
Hey GlowMouse, wat me opvalt, je zit altijd zo te muggenziften (no offense) op kleine foutjes/dingen die niet zo net zijn, maar ik zie je nooit beginnen over dat mensen de oude MySQL libs gebruiken en geen MySQLi.

Dit terwijl het (erg) ontmoedigd wordt om nog deze oude MySQL libraries te gebruiken, en volgens mij deze zelfs niet meer compatible zullen zijn met PHP6. Zou je daar niet eens op gaan hameren?

gr gr
Of toch du vader?
  dinsdag 26 april 2011 @ 21:07:07 #96
75592 GlowMouse
l'état, c'est moi
pi_96014148
Zolang je de extra features van MySQLi niet gebruikt, biedt MySQLi geen voordelen. Bovendien zie ik MySQL niet verdwijnen. Daarnaast moet je een database-class gebruiken, zodat mysql door mysqli vervangen nauwelijks tijd kost.
eee7a201261dfdad9fdfe74277d27e68890cf0a220f41425870f2ca26e0521b0
pi_96014918
Oracle ontmoedigt zelf de oude MySQL libs nog te gebruiken voor nieuwe projecten, en jij, als man van netheid en correctheid, zou daar toch waarde aan moeten hechten? :D
Of toch du vader?
pi_96015475
En inderdaad, na nader onderzoek bleek dat er 'sprake' was van het verwijderen van de klassieke MySQL libs in PHP6, maar dat ze daarvan hebben afgezien i.v.m. teveel actieve gebruikers ervan.

Maar goed, als je hier kijkt, zie je halverwege zo'n Comparison, waar MySQLi/PDO wordt aangeraden voor nieuwe projecten, en de oude MySQL libs niet.
Of toch du vader?
  woensdag 27 april 2011 @ 09:00:16 #99
25889 Sitethief
Fulltime Flapdrol
pi_96032819
Ten vijfde: leer te indenten
Stroek: Sitethief, die is heel groot en sterk :Y.
Faat: *zucht* zoals gewoonlijk hoor Sitethief weer in de bocht &gt;:)
  woensdag 27 april 2011 @ 09:11:57 #100
91039 mstx
2x1/2 = 1/2 x 1/2
pi_96033067
Ten zesde: onderdruk fouten niet met @ maar zorg dat je in eerste instantie geen fouten krijgt.
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_96033257
quote:
0s.gif Op dinsdag 26 april 2011 21:07 schreef GlowMouse het volgende:
Zolang je de extra features van MySQLi niet gebruikt, biedt MySQLi geen voordelen. Bovendien zie ik MySQL niet verdwijnen. Daarnaast moet je een database-class gebruiken, zodat mysql door mysqli vervangen nauwelijks tijd kost.
Database-class als in: PDO. Eigen databasewrappers schrijven is tegenwoordig ook nergens meer voor nodig, daar hebben we PDO voor. Jammer alleen dat het een hoop hosters onvoldoende drivers aanbieden.
Als iedereen gewoon fijntjes leert met prepared statements te werken heb je in 1 klap de helft minder problemen in het kader van SQL-injectie en dergelijke.

quote:
14s.gif Op woensdag 27 april 2011 09:11 schreef mstx het volgende:
Ten zesde: onderdruk fouten niet met @ maar zorg dat je in eerste instantie geen fouten krijgt.
Ben ik in principe met je eens, maar er zijn uitzonderingsgevallen, zoals verschillen tussen de Linux en Windows-API's die errors veroorzaken, en andere randgevallen waarbij onderdrukking in plaats van rete-ingewikkelde foutafhandeling beter is. Maar inderdaad, bij in 99% van de gevallen is dat niet nodig. Samenvatting: onderdrukking voor tekortkomingen van PHP zelf is prima, maar voor fouten aan je eigen kant niet.

[ Bericht 10% gewijzigd door Intrepidity op 27-04-2011 09:26:11 ]
pi_96034706
quote:
0s.gif Op woensdag 27 april 2011 09:00 schreef Sitethief het volgende:
Ten vijfde: leer te indenten
Indenten?

quote:
14s.gif Op woensdag 27 april 2011 09:11 schreef mstx het volgende:
Ten zesde: onderdruk fouten niet met @ maar zorg dat je in eerste instantie geen fouten krijgt.
1
2
3
4
5
6
7
8
<?php
if (empty($_POST['Artikelnummer'])) {
    echo 
'';
}
else {    foreach(
$_POST['Artikelnummer'] as $Artikelnummer

{
?>

Zo goed opgelost?

1
2
3
<?php
$sql
=("SELECT Artikelnummer, Naam, Prijs FROM producten WHERE Artikelnummer =    '".mysql_real_escape_string($Artikelnummer)."'")
?>

En is dit veiliger?

[ Bericht 19% gewijzigd door afro op 27-04-2011 10:42:58 ]
...
  woensdag 27 april 2011 @ 10:28:35 #103
91039 mstx
2x1/2 = 1/2 x 1/2
pi_96034867
quote:
0s.gif Op woensdag 27 april 2011 10:22 schreef afro het volgende:

[..]

Indenten?

[..]
[ code verwijderd ]

Zo goed opgelost?
echo ''; is nogal nutteloos he. :P
1
2
3
4
5
6
<?php
if (!empty($_POST['Artikelnummer'])) {
  foreach(
$_POST['Artikelnummer'] as $Artikelnummer){
  }
}
?>
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_96035109
quote:
0s.gif Op woensdag 27 april 2011 10:28 schreef mstx het volgende:

[..]

echo ''; is nogal nutteloos he. :P
[ code verwijderd ]

Dat is waar :D,
Bedankt!
...
pi_96035852
quote:
0s.gif Op woensdag 27 april 2011 10:22 schreef afro het volgende:

[..]

Indenten?

http://en.wikipedia.org/wiki/Indent_style
pi_96083272
Weet iemand hoe je multiple dimensional array output?
  donderdag 28 april 2011 @ 11:35:48 #107
136730 PiRANiA
All thinking men are atheists.
pi_96083329
quote:
99s.gif Op donderdag 28 april 2011 11:33 schreef -Datdus- het volgende:
Weet iemand hoe je multiple dimensional array output?
Hoe wil je hem outputten? Alleen even bekijken? var_dump($aMultiDimensional);
pi_96083690
Als je 'm daadwerkelijk netjes op het scherm wilt weergeven kun je denken aan geneste for-loops (alleen als je het aantal dimensies van tevoren weet), maar nog netter een recursieve methode (ook bruikbaar bij onbekend aantal dimensies)
pi_96083741
quote:
0s.gif Op donderdag 28 april 2011 11:35 schreef PiRANiA het volgende:

[..]

Hoe wil je hem outputten? Alleen even bekijken? var_dump($aMultiDimensional);
outputten! :)
pi_96118063
quote:
16s.gif Op donderdag 28 april 2011 11:47 schreef -Datdus- het volgende:

[..]

outputten! :)
Met print / echo dus...
pi_96125852
gebruik altijd print_r i.c.m. <pre> </pre>
  vrijdag 29 april 2011 @ 10:40:01 #112
4159 GI
Nee ik heet geen JOE
pi_96128430
quote:
0s.gif Op vrijdag 29 april 2011 09:16 schreef remi1986 het volgende:
gebruik altijd print_r i.c.m. <pre> </pre>
Same.
pi_96128747
quote:
0s.gif Op vrijdag 29 april 2011 09:16 schreef remi1986 het volgende:
gebruik altijd print_r i.c.m. <pre> </pre>
var_dump geeft mij ook iets teveel informatie terug, wel handig als het om type casting gaat dat je precies weet waar je mee werkt. Maar als je in een MVC framework werkt bouw je je models zo dat er een stuk type casting in zit, zodat je er vanuit kunt gaan dat de objecten waarmee je werkt ook daadwerkelijk het type hebben wat je verwacht i.p.v. dat losse type casting waar PHP mee werkt.
pi_96129723
quote:
0s.gif Op vrijdag 29 april 2011 10:48 schreef Pakspul het volgende:

[..]

var_dump geeft mij ook iets teveel informatie terug, wel handig als het om type casting gaat dat je precies weet waar je mee werkt. Maar als je in een MVC framework werkt bouw je je models zo dat er een stuk type casting in zit, zodat je er vanuit kunt gaan dat de objecten waarmee je werkt ook daadwerkelijk het type hebben wat je verwacht i.p.v. dat losse type casting waar PHP mee werkt.
Gelukkig zit type hinting voor scalar variables in de pijplijn voor een volgende PHP-versie ^O^
pi_96129793
quote:
0s.gif Op vrijdag 29 april 2011 11:11 schreef Intrepidity het volgende:

[..]

Gelukkig zit type hinting voor scalar variables in de pijplijn voor een volgende PHP-versie ^O^
Bron? Want ik ben echt zwaar benieuwd naar de uitwerking. Liefste zie ik zoiets als c# want dat verschil niet erg veel van PHP.

Mooiste zal zijn als string,integer,float etc ook classes zijn of structures zodat deze ook in functies worden geaccepteerd.
pi_96130634
quote:
0s.gif Op vrijdag 29 april 2011 11:13 schreef Pakspul het volgende:

Mooiste zal zijn als string,integer,float etc ook classes zijn of structures zodat deze ook in functies worden geaccepteerd.
Dat geeft vooral overhead, en zeker in een weakly typed taal als php heeft het andere nadelen. Zelfs in een taal als java zijn integers en floats etc gewoon primitives, die je eventueel wel in een Integer/Float etc class kan vatten. Maar dat riekt bij mij al snel naar overengineering. Niks mis met primitives. Misschien dat het voor strings handig kan zijn, bijv zoals het in javascript werkt bijvoorbeeld, waar een string een object en ook een pseudo array is. Voor de rest: keep it simple, stupid.
pi_96131034
quote:
0s.gif Op vrijdag 29 april 2011 11:13 schreef Pakspul het volgende:

[..]

Bron? Want ik ben echt zwaar benieuwd naar de uitwerking. Liefste zie ik zoiets als c# want dat verschil niet erg veel van PHP.

Mooiste zal zijn als string,integer,float etc ook classes zijn of structures zodat deze ook in functies worden geaccepteerd.
Zie o.a. http://sebastian-bergmann(...)s-in-PHP-5.3.99.html
Kortom kun je geen variabelen zoals "int $foo" declareren, maar wel types verplicht stellen in methodes, zoals nu ook al mogelijk is met arrays en objecten.
Scalar types worden hopelijk nooit classes. Heeft nauwelijks toegevoegde waarde en voegt inderdaad alleen maar overhead toe.
Wat ik wel erg jammer vind is dat de checking niet automatisch gebeurt. Je kunt wel methoden als "public function foo(int $parameter)" declareren, maar vervolgens moet je zélf met de reflection-API checken of die variabele wel van dat type is.
pi_96131672
Je moet PHP ook niet proberen te veranderen in wat het niet is en wat nooit de bedoeling was. Het is oorspronkelijk gemaakt als een zeer laagdrempelige, ubersimpele scriptingtaal. Als je er echt een stricte en volledige programmeertaal van wil maken inclusief type checking etc dan kun je beter met een schone lei beginnen, zodat je ook alle nare erfenissen uit de voorbije tijd kunt kwijtraken. Maar ja, dan kom je waarschijnlijk uit op iets zoals Python...
pi_96131918
quote:
0s.gif Op vrijdag 29 april 2011 11:53 schreef Farenji het volgende:
Je moet PHP ook niet proberen te veranderen in wat het niet is en wat nooit de bedoeling was. Het is oorspronkelijk gemaakt als een zeer laagdrempelige, ubersimpele scriptingtaal. Als je er echt een stricte en volledige programmeertaal van wil maken inclusief type checking etc dan kun je beter met een schone lei beginnen, zodat je ook alle nare erfenissen uit de voorbije tijd kunt kwijtraken. Maar ja, dan kom je waarschijnlijk uit op iets zoals Python...
Een ubersimpele scriptingtaal is het al jaren niet meer. Loosely typed is het inderdaad, maar dat is een bewuste keuze geweest. Een volledige taal is het al een heel poosje. Wat voor dingen mis jij zoal in de API dan? Dat het niet geleverd wordt met een compleet framework zoals bijvoorbeeld ASP.net dat doet klopt, maar dat zie ik als een groot voordeel, omdat ik dan zelf een framework kan kiezen.
Ben het met je eens dat PHP out-of-the-box niet klaar is voor enterprise toepassingen, maar juist het feit dat je zelf je componenten, opcode caching, frameworks en dergelijke kunt kiezen is een groot voordeel, iets wat ik bij ASP.net en dergelijke talen grotendeels mis.
Dit uiteraard afgezien van het feit dat je het kúnt gebruiken als een houtje-touwtje scripttaaltje, maar de mensen die dat doen kan ik uberhaupt niet serieus nemen.
Ik zeg niet dat PHP een stricte taal moet worden, maar als je type hinting wilt introduceren, doe het dan wel volledig en niet halfgebakken. Of maak automatische checking ten minste een configuratieoptie.
pi_96224726
Gebruikte eerst ook altijd print_r, maar tegenwoordig altijd var_dump omdat ik veel gebruik maak van arrays :) Vind die weergave altijd enorm duidelijk :)
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')