abonnement Unibet Coolblue Bitvavo
pi_138565392
quote:
0s.gif Op zondag 6 april 2014 09:02 schreef slacker_nl het volgende:
@DrNick

Had je niet het idee, dat je heel veel hetzelfde aan het doen was?
[ code verwijderd ]

Je kan nu je query gaan opbouwen, hoe? Dat laat ik aan jou over, maar het is ongeveer hetzelfde. En tip: prepared statements.
Dat wel ja :P

Tof, ik ga het eens proberen. Die prepared statements zijn in verband met sql injecties toch?
pi_138565842
quote:
1s.gif Op zondag 6 april 2014 12:37 schreef totalvamp het volgende:

[..]

Maar wat probeer je nou te doen dan? Ik snap niet waarom je die vergelijking wilt doen.
Nogmaals: ik heb de vergelijking niet gemaakt. Dit is door iemand anders opgesteld, en ik vraag mij af waarom hij werkt. Inmiddels heb ik het opgelost.

Als je een "a" invoert, en dat optelt met 0, levert het een 0 op. Dat staat niet gelijk aan de invoer met "a".
quote:
0s.gif Op zondag 6 april 2014 12:44 schreef Light het volgende:

[..]

Met strlen() kun je de lengte van een string opvragen. Als die 0 is, is de string leeg en zijn er dus geen karakters aanwezig.
Verder kun je met empty() ook kijken of een variabele leeg is. Maar dan moet je er wel op letten dat het in PHP mogelijk is dat een lege string toch 1 teken bevat.
[ code verwijderd ]

Dat kan ook, bedankt voor je aanvulling. Maar dat vroeg ik mij niet af. Evengoed bedankt. :)
  zondag 6 april 2014 @ 13:12:48 #253
187069 slacker_nl
Sicko pur sang
pi_138566173
Wat wil je dan, zeg het in code. Dat helpt vaak om dingen duidelijk te maken.
In theory there is no difference between theory and practice. In practice there is.
  zondag 6 april 2014 @ 13:14:04 #254
187069 slacker_nl
Sicko pur sang
pi_138566206
quote:
1s.gif Op zondag 6 april 2014 12:48 schreef DrNick het volgende:

[..]

Dat wel ja :P

Tof, ik ga het eens proberen. Die prepared statements zijn in verband met sql injecties toch?
Ook. Ik vind ze icm named parameters erg fijn.
In theory there is no difference between theory and practice. In practice there is.
pi_138566227
quote:
1s.gif Op zondag 6 april 2014 13:02 schreef Robuustheid het volgende:

[..]

Nogmaals: ik heb de vergelijking niet gemaakt. Dit is door iemand anders opgesteld, en ik vraag mij af waarom hij werkt. Inmiddels heb ik het opgelost.

Als je een "a" invoert, en dat optelt met 0, levert het een 0 op. Dat staat niet gelijk aan de invoer met "a".

[..]

Dat kan ook, bedankt voor je aanvulling. Maar dat vroeg ik mij niet af. Evengoed bedankt. :)
Wat een raar iets dan, ik hoop niet dat de code vol bagger staat als dit :O dat kan namelijk niet veel goed betekenen xD
pi_138567571
quote:
1s.gif Op zondag 6 april 2014 13:14 schreef totalvamp het volgende:

[..]

Wat een raar iets dan, ik hoop niet dat de code vol bagger staat als dit :O dat kan namelijk niet veel goed betekenen xD
Nou voorruit, voor jou dan:

SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
Je mag het raar vinden, maar het a+0 en vervolgens vergelijken of het gelijk staat aan a, vind ik erg slim bedacht. :)
  FOK!mycroftheld zondag 6 april 2014 @ 14:14:06 #257
128465 bondage
pi_138568361
quote:
0s.gif Op zondag 6 april 2014 12:44 schreef Light het volgende:

[..]

Met strlen() kun je de lengte van een string opvragen. Als die 0 is, is de string leeg en zijn er dus geen karakters aanwezig.
Verder kun je met empty() ook kijken of een variabele leeg is. Maar dan moet je er wel op letten dat het in PHP mogelijk is dat een lege string toch 1 teken bevat.
[ code verwijderd ]

Is het in dit geval niet beter om het op onderstaande manier te doen?
1
2
3
4
5
6
<?php
$string 
'0';
if (empty(
$string) && $string != '') {
    echo 
'Leeg maar toch ook niet';
}
?>

Ik doe het altijd zo omdat het imo resources kost om die strlen functie aan te roepen terwijl je eigenlijk alleen wilt weten of de string leeg is.
pi_138571888
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
/* Sessie starten */
session_start();

/* If/else afhandeling. Voorkomt fouten bij lege variabele */
if (isset($_SESSION['llnr'])) {
        
$llnr $_SESSION['llnr']; 
}    else {
//        $llnr = 220225;
        
echo "Leerlingnummer onbekend. Probeer opnieuw.";
        exit();
        }

if (isset(
$_SESSION['Vak00'])) {
        
$Vak00 $_SESSION['Vak00']; 
}    else {
        
$Vak00 null;
        }

if (isset(
$_SESSION['Vak01'])) {
        
$Vak01 $_SESSION['Vak01']; 
}    else {
        
$Vak01 null;
        }

#etcetera

/* Controleer verbinding */
$link mysqli_connect("localhost""root""usbw""profielkeuze");

if (
mysqli_connect_errno()) {
    
printf("Fout bij verbinden met de database: %s\n"mysqli_connect_error());
    exit();
    }
else 
    {
    echo 
"Je profielkeuze is doorgegeven. Je mag de pagina sluiten.";
    }

echo 
$llnr;
echo 
$Vak00;
echo 
$Vak01;
echo 
$Vak02;
echo 
$Vak03;
echo 
$Vak04;
echo 
$Vak05;
echo 
$Vak06;
echo 
$Vak07;
echo 
$Vak08;
echo 
$Vak09;
echo 
$Vak10;
echo 
$Vak11;
echo 
$Vak12;
echo 
$Vak13;
echo 
$Keuze1;
echo 
$Keuze2;
echo 
$Opmerkingen;

    
/* Query naar database */    
$query "INSERT INTO keuzes (llnr, Vak00, Vak01, Vak02, Vak03, Vak04, Vak05, Vak06, Vak07, Vak08, Vak09, Vak10, Vak11, Vak12, Vak13, Keuze1, Keuze2, Opmerkingen) VALUES ('$llnr', '$Vak00', '$Vak01', '$Vak02', '$Vak03', '$Vak04', '$Vak05', '$Vak06', '$Vak07', '$Vak08', '$Vak09', '$Vak10', '$Vak11', '$Vak12', '$Vak13', '$Keuze1', '$Keuze2', '$Opmerkingen')";
mysqli_query($link$query);

/* TEST QUERY */
//$query2 = "INSERT INTO keuzes (llnr, Vak04) VALUES (224, 'Geschiedenis')";
//mysqli_query($link, $query2);

/* Sluit verbinding */
mysqli_close($link);

/* Sessie in de kliko */
//session_destroy();

?>
Ondanks eerdere tips wil ik het eigenlijk zo doen. Het probleem is nog steeds aanwezig, namelijk dat de variabelen niet in de database komen. Met de variabelen is niets mis want bij het echoen verschijnen ze op het beeld. De test query werkt ook dus de databaseverbinding is er.

[ Bericht 0% gewijzigd door #ANONIEM op 06-04-2014 15:39:03 ]
pi_138571898
quote:
11s.gif Op zondag 6 april 2014 14:14 schreef bondage het volgende:

[..]

Is het in dit geval niet beter om het op onderstaande manier te doen?
[ code verwijderd ]

Ik doe het altijd zo omdat het imo resources kost om die strlen functie aan te roepen terwijl je eigenlijk alleen wilt weten of de string leeg is.
Da's ook nog een mogelijkheid :)
pi_138572539
quote:
0s.gif Op zondag 6 april 2014 15:26 schreef DrNick het volgende:

[ code verwijderd ]

Ondanks eerdere tips wil ik het eigenlijk zo doen. Het probleem is nog steeds aanwezig, namelijk dat de variabelen niet in de database komen. Met de variabelen is niets mis want bij het echoen verschijnen ze op het beeld. De test query werkt ook dus de databaseverbinding is er.
Dan moet je dus kijken wat er mis gaat. Er zijn functies die je dat kunnen vertellen, maar dan moet je ze wel gebruiken. Bijvoorbeeld:

1
2
3
4
5
6
7
8
9
<?php
/* Query naar database */    
$query "INSERT INTO keuzes (llnr, Vak00, Vak01, Vak02, Vak03, Vak04, Vak05, Vak06, Vak07, Vak08, Vak09, Vak10, Vak11, Vak12, Vak13, Keuze1, Keuze2, Opmerkingen) VALUES ('$llnr', '$Vak00', '$Vak01', '$Vak02', '$Vak03', '$Vak04, '$Vak05', '$Vak06', '$Vak07', '$Vak08', '$Vak09', '$Vak10', '$Vak11', '$Vak12', '$Vak13', '$Keuze1', '$Keuze2', '$Opmerkingen')";
mysqli_query($link$query);

if (
mysqli_errno($link)) {
    echo 
mysqli_error($link);
}
?>
pi_138572629
quote:
0s.gif Op zondag 6 april 2014 15:39 schreef Light het volgende:

[..]

Dan moet je dus kijken wat er mis gaat. Er zijn functies die je dat kunnen vertellen, maar dan moet je ze wel gebruiken. Bijvoorbeeld:
[ code verwijderd ]

Als ik die gebruik krijg ik geen error of iets dergelijks.

edit: Ah, nu wel. Duplicate entry. Eens zien.

[ Bericht 4% gewijzigd door #ANONIEM op 06-04-2014 15:43:32 ]
pi_138572775
Aw yeah, het werkt _O_

O+
pi_138574107
1
2
3
4
5
<tr>
    <td> <?php echo $_SESSION['Vak10']; ?> </td>
    <td> <input type="radio" name="Keuze1" value="<?php echo $_SESSION['Vak10']; ?>" / > </td>
    <td> <input type="radio" name="Keuze2" value="<?php echo $_SESSION['Vak10']; ?>" / > </td>
</tr>

Nu heb ik dit: Keuze1 en Keuze2, welke worden gekozen uit een table, moeten toegewezen worden aan resp. $_SESSION['Keuze1'] en $_SESSION['Keuze2']. Hoe is dit te bewerkstelligen?
  FOK!mycroftheld zondag 6 april 2014 @ 16:17:38 #264
128465 bondage
pi_138574275
quote:
0s.gif Op zondag 6 april 2014 16:13 schreef DrNick het volgende:
Nu heb ik dit: Keuze1 en Keuze2, welke worden gekozen uit een table, moeten toegewezen worden aan resp. $_SESSION['Keuze1'] en $_SESSION['Keuze2']. Hoe is dit te bewerkstelligen?
$_SESSION['Keuze1'] = $row['keuze1']
$_SESSION['Keuze2'] = $row['keuze2']
pi_138574377
quote:
11s.gif Op zondag 6 april 2014 16:17 schreef bondage het volgende:

[..]

$_SESSION['Keuze1'] = $row['keuze1']
$_SESSION['Keuze2'] = $row['keuze2']
Waar moet ik die plaatsen? Ik heb onder de table geprobeerd, maar dan krijg ik deze melding:

Notice: Undefined variable: row in C:\*\root\Keuze.php on line 136
Notice: Undefined variable: row in C:\*\root\Keuze.php on line 137

[ Bericht 5% gewijzigd door #ANONIEM op 06-04-2014 16:20:16 ]
pi_138574731
quote:
0s.gif Op zondag 6 april 2014 15:26 schreef DrNick het volgende:

[ code verwijderd ]

Ondanks eerdere tips wil ik het eigenlijk zo doen. Het probleem is nog steeds aanwezig, namelijk dat de variabelen niet in de database komen. Met de variabelen is niets mis want bij het echoen verschijnen ze op het beeld. De test query werkt ook dus de databaseverbinding is er.
Ik neem aan dat je dan voorderest geen PHP meer gaat programmeren? Je script is zo lek als een mandje.
  FOK!mycroftheld zondag 6 april 2014 @ 16:28:23 #267
128465 bondage
pi_138574747
quote:
0s.gif Op zondag 6 april 2014 16:20 schreef DrNick het volgende:

[..]

Waar moet ik die plaatsen? Ik heb onder de table geprobeerd, maar dan krijg ik deze melding:

Notice: Undefined variable: row in C:\*\root\Keuze.php on line 136
Notice: Undefined variable: row in C:\*\root\Keuze.php on line 137
$row['veldnaam'] was puur gekozen als voorbeeld. Je moet de resultaten uit de DB halen en daarmee de sessie vullen. Hoe dit gaat hangt af van de lib die je gebruikt om de query uit te voeren etc.

Als je mysqli gebruikt krijg je zoiets:

1
2
3
4
5
6
7
8
<?php
$query 
"SELECT keuze, waarde FROM tabel where...";
$result $mysqli->query($query);

while(
$row $result->fetch_array()) {
$_SESSION[$row['keuze']] = $row['waarde'];
}
?>
pi_138575005
quote:
11s.gif Op zondag 6 april 2014 16:28 schreef bondage het volgende:

[..]

$row['veldnaam'] was puur gekozen als voorbeeld. Je moet de resultaten uit de DB halen en daarmee de sessie vullen. Hoe dit gaat hangt af van de lib die je gebruikt om de query uit te voeren etc.

Als je mysqli gebruikt krijg je zoiets:
[ code verwijderd ]

Die resultaten zaten nog niet in de database :P

Het werkt inmiddels :s)
pi_138575051
quote:
0s.gif Op zondag 6 april 2014 16:28 schreef totalvamp het volgende:

[..]

Ik neem aan dat je dan voorderest geen PHP meer gaat programmeren? Je script is zo lek als een mandje.
Hierna ben ik er voor de rest van mijn leven klaar mee :P _O-

Wat adviseer je? Dan zal ik daar nog wel naar kijken. Prepared statements in ieder geval, en wat nog?

Ik had overigens naar jouw scriptje gekeken, alleen dat kreeg ik niet werkend. Ik vind dit het prettigst en duidelijkst. :P

[ Bericht 7% gewijzigd door #ANONIEM op 06-04-2014 16:35:49 ]
  FOK!mycroftheld zondag 6 april 2014 @ 16:36:18 #270
128465 bondage
pi_138575083
quote:
0s.gif Op zondag 6 april 2014 16:34 schreef DrNick het volgende:

[..]

Die resultaten zaten nog niet in de database :P

Het werkt inmiddels :s)
Ah, zo. Vergeet overigens niet de waarden ff door htmlentities te halen voordat ze worden verwerkt in de HTML.
pi_138575156
quote:
1s.gif Op zondag 6 april 2014 13:55 schreef Robuustheid het volgende:

[..]

Nou voorruit, voor jou dan:

Je mag het raar vinden, maar het a+0 en vervolgens vergelijken of het gelijk staat aan a, vind ik erg slim bedacht. :)
Nee het is niet slim, het is gewoon niet nodig. Je hebt standaard functies in PHP die kunnen kijken of iets een waarde is. Daarnaast staat je HTML vol met fouten.

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<html>
<head><title>PHP Web Calc</title></head></html>
<body>
<?php
if(!isset($_POST["value1"]))
    
$_POST["value1"]=0;
if(!isset(
$_POST["value2"]))
    
$_POST["value2"]=0;

if(!
is_int($_POST['value1'])) {
    
$message="<font color=#FF0000>Value 1 must be a number</font><script>document.forms[0].value1.focus();</script>";
} else if(!
is_int($_POST['value2'])) {
    
$message="<font color=#FF0000>Value 2 must be a number</font><script>document.forms[0].value2.focus();</script>";
}  
    
if(isset(
$_POST["oper"]) && !isset($message)) {
    switch(
$_POST["oper"])
    {
        case 
"+":
            
$message=$_POST["value1"]+$_POST["value2"];
            break;
        case 
"-":
            
$message=$_POST["value1"]-$_POST["value2"];
            break;
        case 
"*":
            
$message=$_POST["value1"]*$_POST["value2"];
            break;
        case 
"/":
            if((int)
$_POST["value2"] === 0)
            {
                
$message="<font color=#FF0000>Division by 0 is impossible...</font><script>document.forms[0].value2.focus();</script>";
            }
            else
                
$message=$_POST["value1"]/$_POST["value2"];
            break;
        default:
            break;
    }
} else {
    
$message="Enter 2 numbers and press 1 operation button.";
}
?>
<form action="test.php" method="post">
<table border="0">
<tr><td>Value 1</td><td><input type="text" name="value1" value="<?php echo $_POST["value1"]; ?>"></td>
<td>Value 2</td><td><input type="text" name="value2" value="<?php echo $_POST["value2"]; ?>"></td></tr>
<tr><td align="center" colspan="4">
        <input type="submit" name="oper" value="+"/>
        <input type="submit" name="oper" value="-" />
        <input type="submit" name="oper" value="*"/>
        <input type="submit" name="oper" value="/" />
    </td></tr>
<tr><td colspan="4" align="right">$message</td></tr>
</table>
</form>
</body>

quote:
0s.gif Op zondag 6 april 2014 16:35 schreef DrNick het volgende:

[..]

_O-

Wat adviseer je? Dan zal ik daar nog wel naar kijken. Prepared statements in ieder geval, en wat nog?

Ik had overigens naar jouw scriptje gekeken, alleen dat kreeg ik niet werkend. Ik vind dit het prettigst en duidelijkst. :P
Inderdaad prepared statements :)
Maar wat ik al zei, je script is nu nooit meer goed aan te passen. Daarnaast is het van belang dat je leert omgaan met arrays aangezien je 90% van de tijd data daarin krijgt aangeleverd.

Ook is het handig je code zo netjes mogelijk te maken en als je dingen moet kopieren en plakken weet je dat er iets verkeerd is met je code. (zelfde met col1 col2 col3 in databases).

Zoek op relationele databases, dan zul je zien dat het voor jezelf ook een stuk makkelijker is uiteindelijk :)

[ Bericht 36% gewijzigd door #ANONIEM op 06-04-2014 16:47:02 ]
pi_138575299
quote:
14s.gif Op zondag 6 april 2014 16:36 schreef bondage het volgende:

[..]

Ah, zo. Vergeet overigens niet de waarden ff door htmlentities te halen voordat ze worden verwerkt in de HTML.
Zal ik ook eens naar kijken.
quote:
0s.gif Op zondag 6 april 2014 16:37 schreef totalvamp het volgende:

Inderdaad prepared statements :)
Maar wat ik al zei, je script is nu nooit meer goed aan te passen. Daarnaast is het van belang dat je leert omgaan met arrays aangezien je 90% van de tijd data daarin krijgt aangeleverd.

Ook is het handig je code zo netjes mogelijk te maken en als je dingen moet kopieren en plakken weet je dat er iets verkeerd is met je code. (zelfde met col1 col2 col3 in databases).

Zoek op relationele databases, dan zul je zien dat het voor jezelf ook een stuk makkelijker is uiteindelijk :)
Zal ik doen :)
pi_138588574
quote:
0s.gif Op zondag 6 april 2014 16:37 schreef totalvamp het volgende:

[..]

Nee het is niet slim, het is gewoon niet nodig. Je hebt standaard functies in PHP die kunnen kijken of iets een waarde is. Daarnaast staat je HTML vol met fouten.
[ code verwijderd ]

Het is slim gevonden. En dat lijkt mij ook?

En ja ik ben op de hoogte van de functie in PHP om op integers te zoeken, maar daar ging het mij niet om. Het ging mij om dat iemand zoiets creatiefs bedacht heeft.

En wellicht heb je moeite met lezen... Nogmaals: ik heb het niet (er staat niet) gemaakt. Dus het is niet mijn html. Hoezo zitten er fouten in? Het werkt anders prima bij mij.
pi_138590324
quote:
1s.gif Op zondag 6 april 2014 21:30 schreef Robuustheid het volgende:

[..]

Het is slim gevonden. En dat lijkt mij ook?

En ja ik ben op de hoogte van de functie in PHP om op integers te zoeken, maar daar ging het mij niet om. Het ging mij om dat iemand zoiets creatiefs bedacht heeft.

En wellicht heb je moeite met lezen... Nogmaals: ik heb het niet (er staat niet) gemaakt. Dus het is niet mijn html. Hoezo zitten er fouten in? Het werkt anders prima bij mij.
Nee, het is gewoon een gecompliceerde manier om iets te doen wat stukken makkelijker kan. Wat mij meer van toepassing lijkt, is dat de programmeur van het script niet goed wist wat hij deed en zelf ook nog een beginner is.

Dat zie je mede hieraan:
1
2
3
4
5
6
7
8
9
<?php
//Dit is sowieso een rare manier voor een echo, je gebruikt namelijk altijd ' op een echo te openen dit vanwege het feit dat PHP alles tussen "" parsed op variabelen.
echo "<tr><td>Value 1</td><td><input type=text name=value1 value=\"".$_POST["value1"]."\"></td>";

echo 
'<tr><td>Value 1</td><td><input type="text" name="value1" value="'.$_POST["value1"].'" /></td>';

//Dit zou nooit nodig moeten zijn, omdat je de waarden van te voren controleert.
$message=($_POST["value1"]+0)/($_POST["value2"]+0);
?>

HTML tags maak je zo op.
<p class="class" name="p">
niet zo
<p class=class name=p>

de HTML tag <font> wordt al tijden niet meer gebruikt.
pi_138590460
Sowieso een table echoën met input elementen en shit :')
pi_138590494
En die +0 :') lachwekkend.
pi_138590555
En geen isset() :'( huilen hier
pi_138590775
quote:
//Dit is sowieso een rare manier voor een echo, je gebruikt namelijk altijd ' op een echo te openen dit vanwege het feit dat PHP alles tussen "" parsed op variabelen.
Ik begrijp je opmerking niet zo goed.
1
2
3
4
5
//Onderstaand regel is volgens je dus verkeerd? 
echo "voorbeeld";
//En onderstaand regel is dus juist? 
echo 'voorbeeld';
//Waarom is eerste voorbeeld verkeerd dan? Je uitleg over parsen is mij nog vaag.
quote:
//Dit zou nooit nodig moeten zijn, omdat je de waarden van te voren controleert.
Wat moet ik mij daarbij voorstellen?
En als de font niet gebruikt wordt, dan zie ik niet in hoe je de letters in dit voorbeeld een kleur kunt geven zonder CSS in dit
voorbeeld.

http://www.makewebgames.c(...)iewfull=1#post240408

Ik heb de bovenstaande code daarvandaan. De auteur is ook nog Zend PHP gecertificeerd. :P

[ Bericht 31% gewijzigd door Robuustheid op 06-04-2014 22:10:29 ]
pi_138590841
quote:
0s.gif Op zondag 6 april 2014 21:58 schreef Scorpie het volgende:
Sowieso een table echoën met input elementen en shit :')
Wat zou je anders gaan doen dan?
quote:
0s.gif Op zondag 6 april 2014 22:00 schreef Scorpie het volgende:
En geen isset() :'( huilen hier
Ik zie wel isset staan?
pi_138591640
quote:
0s.gif Op zondag 6 april 2014 22:04 schreef Robuustheid het volgende:
Wat zou je anders gaan doen dan?
Gewoon even php sluiten? Als je nou 1 dingetje moet doen alè, gewoon in een echo.
Maar voor zoiets als dit :')

Krijg je dus zoiets
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
echo "<tr><td>Value 1</td><td><input type=text name=value1 value=\"".$_POST["value1"]."\"></td>"// zo moet het dus niet

?>
<tr>
    <td>
        Value 1
    </td>
    <td>
        <input type="text" name="value1" value="<?php echo $_POST['value1']; ?>" />
    </td>
</tr>
<?php
// ..


[ Bericht 0% gewijzigd door #ANONIEM op 06-04-2014 22:18:19 ]
pi_138591909
quote:
1s.gif Op zondag 6 april 2014 22:03 schreef Robuustheid het volgende:

[..]

Ik begrijp je opmerking niet zo goed.
[ code verwijderd ]
Alles wat tussen "hier" staat wordt bekeken of er een variabele bij staat "hier $een $var"
Dat duurt dus langer om op het scherm te tonen.

quote:
Wat moet ik mij daarbij voorstellen?
En als de font niet gebruikt wordt, dan zie ik niet in hoe je de letters in dit voorbeeld een kleur kunt geven zonder CSS in dit
voorbeeld.
1<p style="color:#FF0000">rode text</p>
quote:
Ik heb de bovenstaande code daarvandaan. De auteur is ook nog Zend PHP gecertificeerd. :P
2010, die code is sowieso niet meer echt relevant.

[ Bericht 6% gewijzigd door #ANONIEM op 06-04-2014 22:23:01 ]
pi_138595134
quote:
0s.gif Op zondag 6 april 2014 22:21 schreef totalvamp het volgende:

[..]

Alles wat tussen "hier" staat wordt bekeken of er een variabele bij staat "hier $een $var"
Dat duurt dus langer om op het scherm te tonen.
Dat is tegenwoordig geen issue meer.
pi_138595535
quote:
0s.gif Op zondag 6 april 2014 23:21 schreef Light het volgende:

[..]

Dat is tegenwoordig geen issue meer.
Hmm, latere versies hebben dit dus verholpen :)
Ik ben zelf begonnen met PHP3 nog.

Mooi dat het weg is, nu zal je alsnog ' ' gebruiken voor html en het geeft beter weer wat er in de string komt te staan door colour coding.

Snelheid is misschien geen factor meer, maar netheid wel :)

[ Bericht 0% gewijzigd door #ANONIEM op 06-04-2014 23:31:43 ]
pi_138621393
Wellicht dat jullie hier ook kunnen helpen:

Ons programma werkt nu bijna helemaal. Het laatste wat eigenlijk moet gebeuren nu is ervoor zorgen dat de record geüpdate wordt wanneer een leerling met llnr x nogmaals een keuze maakt. Nu zou zo'n leerling namelijk een error krijgen, vanwege de duplicaten. Nu heb ik wel reeds een stukje code gevonden, maar dit is slechts de SQL versie. Hoe doe ik dit in php?

1
2
3
4
5
6
7
8
9
10
11
12
begin tran
if exists (select * from table with (updlock,serializable) where key = @key)
begin
   update table set ...
   where key = @key
end
else
begin
   insert table (key, ...)
   values (@key, ...)
end
commit tran
  maandag 7 april 2014 @ 19:17:01 #285
187069 slacker_nl
Sicko pur sang
pi_138621778
quote:
0s.gif Op maandag 7 april 2014 19:08 schreef DrNick het volgende:
Wellicht dat jullie hier ook kunnen helpen:

Ons programma werkt nu bijna helemaal. Het laatste wat eigenlijk moet gebeuren nu is ervoor zorgen dat de record geüpdate wordt wanneer een leerling met llnr x nogmaals een keuze maakt. Nu zou zo'n leerling namelijk een error krijgen, vanwege de duplicaten. Nu heb ik wel reeds een stukje code gevonden, maar dit is slechts de SQL versie. Hoe doe ik dit in php?
[ code verwijderd ]

<?php ?> tags gebruiken.
In theory there is no difference between theory and practice. In practice there is.
pi_138621882
quote:
0s.gif Op maandag 7 april 2014 19:17 schreef slacker_nl het volgende:

[..]

<?php ?> tags gebruiken.
Dus in plaats van de insert query die er nu staat deze gebruiken?
pi_138622127
quote:
0s.gif Op maandag 7 april 2014 19:19 schreef DrNick het volgende:

[..]

Dus in plaats van de insert query die er nu staat deze gebruiken?
http://www.php.net/manual/en/book.pdo.php
pi_138622697
quote:
99s.gif Op zondag 6 april 2014 22:18 schreef CrashO het volgende:

[..]

Gewoon even php sluiten? Als je nou 1 dingetje moet doen alè, gewoon in een echo.
Maar voor zoiets als dit :')

Krijg je dus zoiets
[ code verwijderd ]

^O^
pi_138622909
quote:
Hmm, ik snap er nog niet veel van, maar is dit wat er moet gebeuren?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php

PDO 
{
public 
__construct(database,root,usbw);
public 
beginTransaction();
if 
exists (select from profielkeuze with (updlock,serializablewhere llnr $llnr)
    
begin
        update table set profielkeuze
        where llnr 
$llnr
    end
else
    
begin
        insert into profielkeuze
(llnrVak00, ...)
        
values ('$llnr''$Vak00', ...);
    
end
public commit();
}
?>
Er klopt vast weinig van, maar ik heb grofweg de handleiding gevolgd; van wat ik snapte in ieder geval.
  maandag 7 april 2014 @ 19:47:58 #290
187069 slacker_nl
Sicko pur sang
pi_138623397
quote:
Hij gebruikt al mysqli, dus laten we dat zo houden... Al ben ik het met je eens dat PDO rocks en cool is en iedereen die het niet gebruikt afgeschoten moet worden.

Overigens kent MySQL een INSERT INTO ON DUPLICATE KEY UPDATE syntax.
In theory there is no difference between theory and practice. In practice there is.
pi_138623661
quote:
0s.gif Op maandag 7 april 2014 19:47 schreef slacker_nl het volgende:

[..]

Hij gebruikt al mysqli, dus laten we dat zo houden... Al ben ik het met je eens dat PDO rocks en cool is en iedereen die het niet gebruikt afgeschoten moet worden.

Overigens kent MySQL een INSERT INTO ON DUPLICATE KEY UPDATE syntax.
Dus mijn INSERT INTO vervangen door dat zou al afdoende moeten zijn?

Edit: http://stackoverflow.com/(...)pdate-same-as-insert , Ga ik eens proberen, als het goed is moet het werken dan :)

[ Bericht 18% gewijzigd door #ANONIEM op 07-04-2014 20:30:08 ]
pi_138626228
quote:
INSERT INTO table (id,a,b,c,d,e,f,g) VALUES (1,2,3,4,5,6,7,8)
ON DUPLICATE KEY UPDATE a=VALUES(a),b=VALUES(b),c=VALUES(c),d=VALUES(d),e=VALUES(e),f=VALUES(f),g=VALUES(g)
Ik heb nu dit geprobeerd, enkel krijg ik deze foutmelding:
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 'Vak00=VALUES(Vak00),Vak01=VALUES(Vak01),Vak02=VALUES(Vak02),Vak03=VALUES(Vak03),' at line 3
pi_138627058
quote:
0s.gif Op maandag 7 april 2014 20:42 schreef DrNick het volgende:

[..]

Ik heb nu dit geprobeerd, enkel krijg ik deze foutmelding:
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 'Vak00=VALUES(Vak00),Vak01=VALUES(Vak01),Vak02=VALUES(Vak02),Vak03=VALUES(Vak03),' at line 3
Waarom dat 'a=values(a)' en dergelijke? Ik ken die ON DUPLICATE KEY UPDATE niet maar de syntaxis ziet er een beetje vreemd uit.

[ Bericht 1% gewijzigd door #ANONIEM op 07-04-2014 20:56:00 ]
pi_138627915
quote:
0s.gif Op maandag 7 april 2014 20:55 schreef robin007bond het volgende:

[..]

Waarom dat 'a=values(a)' en dergelijke? Ik ken die ON DUPLICATE KEY UPDATE niet maar de syntaxis ziet er een beetje vreemd uit.
Die heb ik overgenomen uit de syntax beschreven in de link 2 posts terug.
  maandag 7 april 2014 @ 21:52:29 #295
187069 slacker_nl
Sicko pur sang
pi_138630526
Volgens mij is het:

INSERT INTO table (id, a, b, c) VALUES (iets, 1,2,3) ON DUPLICATE KEY UPDATE a = 1, b = 2, c = 3;

Eigenlijk dezelfde syntax als de update zelf:

UPDATE table SET a = 1, b = 2, c = 3 WHERE ID = iets;
In theory there is no difference between theory and practice. In practice there is.
pi_138630558
Dit is de huidige query:
1
2
3
$query = "INSERT INTO keuzes (llnr, Vak00, Vak01, Vak02, Vak03, Vak04, Vak05, Vak06, Vak07, Vak08, Vak09, Vak10, Vak11, Vak12, Vak13, Keuze1, Keuze2, Opmerkingen) 
        VALUES ('$llnr', '$Vak00', '$Vak01', '$Vak02', '$Vak03', '$Vak04', '$Vak05', '$Vak06', '$Vak07', '$Vak08', '$Vak09', '$Vak10', '$Vak11', '$Vak12', '$Vak13', '$Keuze1', '$Keuze2', '$Opmerking')
            ON DUPLICATE KEY Vak00='Vak00', Vak01='Vak01', Vak02='Vak02', Vak03='Vak03', Vak04='Vak04', Vak05='Vak05', Vak06='Vak06', Vak07='Vak07', Vak08='Vak08', Vak09='Vak09', Vak10='Vak10', Vak11='Vak11', Vak12='Vak12', Vak13='Vak13', Keuze1='Keuze1', Keuze2='Keuze2', Opmerkingen='Opmerkingen'";
Deze heb ik aangepast naar deze syntax:
1
2
3
4
5
6
INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]
    [INTO] tbl_name [(col_name,...)]
    {VALUES | VALUE} ({expr | DEFAULT},...),(...),...
    [ ON DUPLICATE KEY UPDATE
      col_name=expr
        [, col_name=expr] ... ]
Bron: https://mariadb.com/kb/en/insert-on-duplicate-key-update/

Echter krijg ik nog steeds deze melding:
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 'Vak00='Vak00', Vak01='Vak01', Vak02='Vak02', Vak03='Vak03', Vak04='Vak04', Vak05' at line 3
pi_138630617
quote:
0s.gif Op maandag 7 april 2014 21:52 schreef slacker_nl het volgende:
Volgens mij is het:

INSERT INTO table (id, a, b, c) VALUES (iets, 1,2,3) ON DUPLICATE KEY UPDATE a = 1, b = 2, c = 3;

Eigenlijk dezelfde syntax als de update zelf:

UPDATE table SET a = 1, b = 2, c = 3 WHERE ID = iets;
Dus die extra regel moet er nog bij?
pi_138630827
Ah, ik heb het probleem gevonden: UPDATE miste in de syntax.

Bedankt voor jullie hulp :)
  maandag 7 april 2014 @ 21:57:35 #299
187069 slacker_nl
Sicko pur sang
pi_138630836
quote:
0s.gif Op maandag 7 april 2014 21:53 schreef DrNick het volgende:

[..]

Dus die extra regel moet er nog bij?
Je mist UPDATE na ON DUPLICATE KEY.
In theory there is no difference between theory and practice. In practice there is.
pi_138631538
quote:
0s.gif Op maandag 7 april 2014 21:57 schreef slacker_nl het volgende:

[..]

Je mist UPDATE na ON DUPLICATE KEY.
Je zag hem gelijk met mij O+

[ Bericht 0% gewijzigd door #ANONIEM op 07-04-2014 22:10:04 ]
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')