Hallo, Ik ben nog niet zo lang bezig met php en ben bezig met een klein project waarvan een deel van de code hieronder staat weergegeven.
Globale bedoeling:
Er zijn meerdere gebruikers die op de website allemaal dezelfde links te zien krijgen.
De gebruikers kunnen een checkbox aan/uitvinken die voor de link staat, waardoor ze kunnen bijhouden welke links ze gehad hebben. Die checkbox waarde wordt per gebruiker opgeslagen in de database, zodat wanneer de gebruiker terugkeerd op de pagina, de links die hij bezocht heeft weer aangevinkt zijn.
Wat is de bedoeling bij deze code en wat is gelukt en wat is er niet gelukt:
Nou in dit stuk code worden dus een aantal links getoond (uit tabel tblLinks). Wanneer ik voor die links de checkbox aanvink en op de knop insert klik, dan wordt netjes het id van de link en het id van de user in een koppeltabel tblStatus gezet (oftewel bijv. 1, 3, 55, ON), wat gebeurd d.m.v. die insert. Wanneer de gebruiker nog een keer dezelfde link aan zou klikken, dan hoeft die natuurlijk niet opnieuw ge-insert te worden en daarom wordt er na de eerste keer een update uitgevoerd, wat ook gelukt is.
Het probleem is nu alleen dat ik niet weet hoe ik alle links weergeef en dat de checkbox(es) aangevinkt zijn wanneer de gebruiker terugkeerd op de pagina. En daarnaast hoe moet ik controleren of die checkbox is aangevinkt en of de waarde in de database aangepast moet worden.
Ander bijkomend probleem is, dat wanneer ik van die Select query een join maak, om ook de gegevens uit tblStatus te kunnen gebruiken in combinatie met tblLinks, dan worden alle rijen meerdere malen getoond, wat niet de bedoeling is. Namelijk het aantal keer dat er een rij bestaat in tblStatus.
Globale bedoeling:
Er zijn meerdere gebruikers die op de website allemaal dezelfde links te zien krijgen.
De gebruikers kunnen een checkbox aan/uitvinken die voor de link staat, waardoor ze kunnen bijhouden welke links ze gehad hebben. Die checkbox waarde wordt per gebruiker opgeslagen in de database, zodat wanneer de gebruiker terugkeerd op de pagina, de links die hij bezocht heeft weer aangevinkt zijn.
Wat is de bedoeling bij deze code en wat is gelukt en wat is er niet gelukt:
Nou in dit stuk code worden dus een aantal links getoond (uit tabel tblLinks). Wanneer ik voor die links de checkbox aanvink en op de knop insert klik, dan wordt netjes het id van de link en het id van de user in een koppeltabel tblStatus gezet (oftewel bijv. 1, 3, 55, ON), wat gebeurd d.m.v. die insert. Wanneer de gebruiker nog een keer dezelfde link aan zou klikken, dan hoeft die natuurlijk niet opnieuw ge-insert te worden en daarom wordt er na de eerste keer een update uitgevoerd, wat ook gelukt is.
Het probleem is nu alleen dat ik niet weet hoe ik alle links weergeef en dat de checkbox(es) aangevinkt zijn wanneer de gebruiker terugkeerd op de pagina. En daarnaast hoe moet ik controleren of die checkbox is aangevinkt en of de waarde in de database aangepast moet worden.
Ander bijkomend probleem is, dat wanneer ik van die Select query een join maak, om ook de gegevens uit tblStatus te kunnen gebruiken in combinatie met tblLinks, dan worden alle rijen meerdere malen getoond, wat niet de bedoeling is. Namelijk het aantal keer dat er een rij bestaat in tblStatus.
PHP:
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
75
76
77
78
79
80
81
82
83
| <?php $sql2="SELECT * FROM tblLinks WHERE strLanguage='EN' AND LEFT(strURLTitel,1) < 'a' ORDER BY strURLTitel"; $result2=mysql_query($sql2); $count2=mysql_num_rows($result2); ?> <table width="400" border="0" cellpadding="5" cellspacing="1" bgcolor="#CCCCCC"> <tr> <td bgcolor="#FFFFFF"> </td> <td colspan="6" bgcolor="#FFFFFF"><strong></strong> </td> </tr> <tr> <td align="center" bgcolor="#FFFFFF">#</td> <td align="center" bgcolor="#FFFFFF"><strong>idLink</strong></td> <td align="center" bgcolor="#FFFFFF"><strong>strURL</strong></td> <td align="center" bgcolor="#FFFFFF"><strong>strURLTitel</strong></td> <td align="center" bgcolor="#FFFFFF"><strong>strPagerank</strong></td> <td align="center" bgcolor="#FFFFFF"><strong>strLanguage</strong></td> <td align="center" bgcolor="#FFFFFF"><strong>strDate</strong></td> </tr> <?php while($rows2=mysql_fetch_array($result2)){ ?> <tr> <td align="center" bgcolor="#FFFFFF"><input name="checkbox2[]" type="checkbox" id="checkbox2[]" value="<? echo $rows2['idLink'] ?>"<? echo $rows2['varStatus'] ?> ></td> <td bgcolor="#FFFFFF"><? echo $rows2['idLink']; ?></td> <td bgcolor="#FFFFFF"><? echo $rows2['strURL']; ?></td> <td bgcolor="#FFFFFF"><? echo $rows2['strURLTitel']; ?></td> <td bgcolor="#FFFFFF"><? echo $rows2['strPagerank']; ?></td> <td bgcolor="#FFFFFF"><? echo $rows2['strLanguage']; ?></td> <td bgcolor="#FFFFFF"><? echo $rows2['strDate']; ?></td> </tr> <?php } ?> <tr> <td colspan="7" align="center" bgcolor="#FFFFFF"><br><input name="insert2" type="submit" id="insert2" value="Insert Link Info in Status"><br><br></td> </tr> <? // Check if insert button active, start this if(IsSet($insert2)) { for($i=0;$i<$count2;$i++) { $in_id2 = $checkbox2[$i]; $sqlx="SELECT idUser FROM tblStatus WHERE idUser='$idwaarde' AND idLink='$in_id2'"; $resultx=mysql_query($sqlx); $countx=mysql_num_rows($resultx); if($in_id2>0) { if($countx > 0) { //$sql2 = "INSERT INTO tblStatus(idUser, idLink, varStatus) VALUES ('100', '100', 'X')"; // //Hier komt de update code if ($waarde = true) { $sql2 = "UPDATE tblStatus SET varStatus='on' WHERE idUser='$idwaarde' AND idLink='$in_id2'"; $result2 = mysql_query($sql2); } if ($waarde = false) { $sql2 = "UPDATE tblStatus SET varStatus='off' WHERE idUser='$idwaarde' AND idLink='$in_id2'"; $result2 = mysql_query($sql2); } } else { $sql2 = "INSERT INTO tblStatus(idUser, idLink, varStatus) VALUES ('$idwaarde', '$in_id2', '$checkbox2[$i]')"; $result2 = mysql_query($sql2); } } } // if successful redirect if($result2) { echo "<meta http-equiv=\"refresh\" content=\"0;URL=Test_Links_met_Status2.php\">"; } } mysql_close(); ?> |