uit datbase checked of niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Frank -

Frank -

19/02/2008 19:48:00
Quote Anchor link
--ging even iets fout--
Gewijzigd op 01/01/1970 01:00:00 door Frank -
 
PHP hulp

PHP hulp

21/11/2024 18:21:15
 
Joren de Wit

Joren de Wit

19/02/2008 19:55:00
Quote Anchor link
Quote:
Hoezo niet handig? Dat is juist handig! Als je een nieuwe techniek toevoegt aan de database komt hij op die manier direct in je keuzelijst te staan, je hoeft de PHP code dus niet meer aan te passen. Je bent toch bezig met het bouwen van een dynamische website?
Quote:
Niet handig? Of blijkt nu dat er ontwerpfouten in je systeem zitten? Hoe denk jij een nieuwe optie toe te voegen aan de database? Dat gaat je niet lukken zonder ook jouw php-code aan te passen. Dat is toch niet echt wat men verstaat onder een dynamische website, of wel dan?
Hoezo dezelfde strekking? :-)

@Jordi: twee antwoorden met precies dezelfde strekking doen je hopelijk inzien dat dat gewoon een fout is die je maakt. Geen grote, maar zorg gewoon dat die selectbox dynamisch gegenereerd wordt aan de hand van de gegevens uit je database.
 
J A

J A

19/02/2008 20:01:00
Quote Anchor link
Blanche, jij hebt mij nog geholpen met met dat erin zetten... mjah.
Ik ben bezig met een uitgebreid portfolioscript ..

Dus moet ik dit doen ?
- tabel met techniek verwijderen
- tabel portfolio_gemaakt veranderen zodat hij ipv het techniek id gewoon de techniek erin zetten (PSD, HTML enz..)
- in het toevoegen script ervoor zorgen dat hij gewoon de technieken daarin gooit ipv de nummers
- bij het bekijken ervoor zorgen dat hij gewoon direct die technieken erneer gooit en dus niet via een koppeltabel

- dit gebruiken voor bewerk:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

include('../connect.php');

$query = "SELECT techniek_id FROM portfolio_gemaakt WHERE portfolio_id= 38";

if(!$res = mysql_query($query))
{

    trigger_error(mysql_error().'<br />In query: '.$query);
}


else
{

   if($row = mysql_fetch_assoc($res)){

        if($row['techniek_id'] == PSD){     //techniek_id zal ik nog veranderen
            echo 'PSD moet aangevinkt zijn';
        }

        else {
            echo 'nope, PSD niet aangevinkt';
        }


        if($row['techniek_id'] == HTML){
            echo 'HTML moet aangevinkt zijn';
        }

        else {
            echo 'nope, HTML niet aangevinkt';
        }


        if($row['techniek_id'] == CSS){
            echo 'CSS moet aangevinkt zijn';
        }

        else {
            echo 'nope, CSS niet aangevinkt';
        }
    }

}


?>
 
Joren de Wit

Joren de Wit

19/02/2008 20:06:00
Quote Anchor link
Quote:
Blanche, jij hebt mij nog geholpen met met dat erin zetten... mjah.
Klopt, maar voor zover ik mij kan herinneren hebben we het nooit over je formulier gehad...
Quote:
Dus moet ik dit doen ?
- tabel met techniek verwijderen
- tabel portfolio_gemaakt veranderen zodat hij ipv het techniek id gewoon de techniek erin zetten (PSD, HTML enz..)
- in het toevoegen script ervoor zorgen dat hij gewoon de technieken daarin gooit ipv de nummers
- bij het bekijken ervoor zorgen dat hij gewoon direct die technieken erneer gooit en dus niet via een koppeltabel
Nee, nee, nee en nee. Dat zijn de antwoorden op de punten die je stelt.

De huidige opzet van de database is correct, een aparte tabel met technieken en een koppeltabel om ze aan de portfolio's te kiezen. Het enige dat jij nu hoeft te doen is het dynamisch genereren van de selectbox aan de hand van de technieken die in de technieken tabel staan...
 
Frank -

Frank -

19/02/2008 20:09:00
Quote Anchor link
Jouw datamodel hoef je waarschijnlijk niet aan te passen, wanneer deze goed is, zal deze ook goed blijven met de juiste PHP-code.

Het probleem zit hem in jouw PHP-code. Althans, daar lijkt het op. In jouw php-code staan al hardcoded waardes zoals PSD en HTML. Wanneer je dat in je PHP gaat opslaan, hoef je het niet meer in je database op te slaan. Gooi dan de hele database gewoon weg! Of ga correcte php-code schrijven... Haal uit je database de beschikbare technieken op en ga kijken of deze beschikbare technieken matchen met de geselecteerde technieken. Zo ja, checked, zo nee, dan niks.

Wanneer je data uit je database hardcoded in je PHP-code zet, gooi dan je database weg, dan begrijp je niet wat een database voor je kan doen.
 
J A

J A

19/02/2008 20:45:00
Quote Anchor link
Oke, ik snap wat ik nu moet doen. Maar ik snap helaas niet hoe ik dat moet doen.
 
Joren de Wit

Joren de Wit

19/02/2008 21:33:00
Quote Anchor link
SELECT query uitvoeren om de technieken op te halen, resultaat fetchen in een while loop en daar tevens de <options> van de bijbehorende select box genereren.

Je moet zorgen dat de select box er precies zo uit komt te zien zoals je hem nu in je html code hebt staan.
 
J A

J A

19/02/2008 21:40:00
Quote Anchor link
Uhhhhhhhhh........

Quote:
SELECT query uitvoeren om de technieken op te halen

moet die query naar technieken of portfolio_gemaakt ?
Quote:
resultaat fetchen in een while loop

While loop ?? Op google staat alleen while loop als javascript ??!!
Quote:
en daar tevens de <options> van de bijbehorende select box genereren.

Wat bedoel je met <options> ?
Gewijzigd op 01/01/1970 01:00:00 door J A
 
J A

J A

20/02/2008 17:15:00
Quote Anchor link
Even een bumpje dan...

Maar zou je anders niet een klein voorbeelde kunnen geven?
 
J A

J A

20/02/2008 20:50:00
Quote Anchor link
Het is opgelost, een vriend van mij gaf dit aan mij, ik heb de in_array gebruikt. Verder heb ik natuurlijk wel gecontroleerd enzovoort of alles goed is.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

include('../connect.php');

$result = mysql_query("SELECT techniek_id FROM portfolio_gemaakt WHERE portfolio_id = 38");
$techniek_arr = array();
while ($row = mysql_fetch_assoc($result)) {
    $techniek_arr[] = $row['techniek_id'];

}


echo '<input type="checkbox" '.(in_array(1, $techniek_arr) ? 'checked="checked"' : '').' /> PSD<br />';
echo '<input type="checkbox" '.(in_array(2, $techniek_arr) ? 'checked="checked"' : '').' /> HTML<br />';
echo '<input type="checkbox" '.(in_array(3, $techniek_arr) ? 'checked="checked"' : '').' /> CSS<br />';
echo '<input type="checkbox" '.(in_array(4, $techniek_arr) ? 'checked="checked"' : '').' /> JavaScript<br />';
echo '<input type="checkbox" '.(in_array(5, $techniek_arr) ? 'checked="checked"' : '').' /> FLASH<br />';
echo '<input type="checkbox" '.(in_array(6, $techniek_arr) ? 'checked="checked"' : '').' /> PHP<br />';

?>
 
Jan Koehoorn

Jan Koehoorn

20/02/2008 20:52:00
Quote Anchor link
Dat ziet er uit of het nog wel een stukje handiger kan. Zou je overigens willen stoppen met bumpen? Je weet wat het is en toch doe je het.
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.