naam by id systeem ding

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Pagina: « vorige 1 2

Gerben G

Gerben G

31/07/2006 14:46:00
Quote Anchor link
ja

dat komt beter in de buurt
het maakt voor mysql niet uit of er veel tabellen en veel records zijn
 
PHP hulp

PHP hulp

17/11/2024 17:28:58
 
Niek s

niek s

31/07/2006 14:47:00
Quote Anchor link
jattert?
ok, dan doe ik het zo :-)
 
Gerben G

Gerben G

31/07/2006 14:48:00
Quote Anchor link
niek:
dus ik moet een soort tabel hebben met dit:

id | pokemon_id | user_id | level

?


ja
en daar kun je alle andere gegevens over de pokemons plaatsen
 
Frank -

Frank -

31/07/2006 14:51:00
Quote Anchor link
Het zou zo maar kunnen, ik weet niet precies welke data je allemaal wilt opslaan en welke relaties er allemaal zijn.

Wanneer je begint te normaliseren, ga dan vooral NIET in tabellen denken. Welke tabellen je nodig hebt en hoe deze er uit komen te zien, dat blijkt pas aan het einde van het hele normalisatie-proces. Denken in tabellen leidt alleen maar af en vergroot de kans op fouten in het datamodel. En dat wil je juist voorkomen...

Tip: Gebruik straks de innoDB-database engine en niet de standaard MyIsam-engine. Dan kun je ook gebruik maken van foreign keys (FK). Hiermee wordt de database een stukje robuster. Het gebruik van FK's wordt ook in het artikel over normalisatie uitgelegd.
 
Niek s

niek s

31/07/2006 16:41:00
Quote Anchor link
Bedankt iedereen! het werkt!
Maar ik zit nu alleen met dit probleem, en ik dacht. hoef ik niet echt een nieuw topic voor te openen...

Dit script moet alle rows uit pokemon halen die als id hetzelfde hebben als p_id in user_pokemon.. het enige probleem: 'het zet ALLE pokemon op het scherm :-('

weet iemand de oplossing? ( die while loop was meer een experimentje, maar het werkt niet helemaal blijkbaar :p)

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
<?php
                if(isset($_GET['act']) && $_GET['act'] == "mijn") {
                $res = mysql_query("SELECT p_id FROM user_pokemon WHERE u_id = '".$_SESSION['user_id']."' ORDER BY id") or die(mysql_error());
                $res2 = mysql_query("SELECT * FROM pokemon WHERE id = '".$roww['p_id']."'") or die(mysql_error());
                while($roww = mysql_fetch_assoc($res) && $row = mysql_fetch_array($res2)){
                echo '<tr>
                    <td class="rij">
                        '
.$row['id'].'
                    </td>
                    <td class="rij">
                        <a href="'
.$row['link'].'">'.$row['naam'].'</a>
                    </td>
                    <td class="rij">
                        '
.$row['type'].'
                    </td>
                    <td align="center" valign="middle" class="rij">'
;
                        $sql2 = "SELECT * FROM user_pokemon WHERE u_id = '".$_SESSION['user_id']."' AND p_id = '".$row['id']."'";
                        $res2 = mysql_query($sql2);
                        if (mysql_num_rows($res2) == 0) {
                            echo '<a href="index.php?da='.$row['id'].'"><img src="images/kruis.gif" border="0"></a>';
                        }
else {
                            echo '<a href="index.php?da='.$row['id'].'"><img src="images/vinkje.gif" border="0"></a>';
                        }

                    echo '
                    </td>
                </tr>'
;
                }    
                }

                ?>
 
- wes  -

- wes -

31/07/2006 16:45:00
Quote Anchor link
verder niets met je vraag te maken maar ik zie dat je dit $sql , $sql2 , $row , $roww gebruikt. Als je nou een beetje slim bent maak je daar iets van wat je gemakkelijk kan terug vinden bijv:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
$login_sql
= 'SELECT veld FROM tabel';
$login_res = mysql_query($login_sql,$link);


$zoek_sql = 'SELECT veld FROM tabel WHERE veld LIKE waarde';
$zoek_res = mysql_query($zoek_sql,$link);

?>


etcetc

als jij nu 9 querys hebt lopen en ze heten allemaal $sql## , moet je eerst zoeken wat gebeurd daar eigenlijk, terwijl je dit met logische naamgeven ook logisch kan terugvinden
 
Niek s

niek s

31/07/2006 16:48:00
Quote Anchor link
(ik weet het, het is raar, maar toch: ) ja dat doe ik ook meestal wel, maar pas als het HELE script klaar is, dan loop ik ALLE php zooi nog eens langs, en hernoem ik de query namen enz.
 
- wes  -

- wes -

31/07/2006 16:49:00
Quote Anchor link
beetje dubbelop :) als je alles moet renamen vergeet je altijd wel iets, en zoek daan maar waar het zit dat je script niet werkt :)
 
Frank -

Frank -

31/07/2006 16:55:00
Quote Anchor link
Offtopic: Je houdt er een bijzonder ongelukkige werkwijze op na. Eerst een slecht systeem bouwen, niet normaliseren, geen foutafhandeling, slechte naamgevingen etc. en vervolgens probeer je daar een goed systeem van te gaan maken. Dat is nog nooit iemand gelukt. Stel jezelf vanaf het begin tot doel om een goed systeem te maken!

Dan het probleem:
$res = mysql_query("SELECT p_id FROM user_pokemon WHERE u_id = '".$_SESSION['user_id']."' ORDER BY id") or die(mysql_error());
$res2 = mysql_query("SELECT * FROM pokemon WHERE id = '".$roww['p_id']."'") or die(mysql_error());

Dit gaat niet werken, in $res2 roep je $roww['p_id'] aan die helemaal niet bestaat. Die wordt pas in de while-lus (op de volgende regel) aangemaakt.
 
Niek s

niek s

31/07/2006 16:59:00
Quote Anchor link
maar hoe moet ik het dan doen?
(heb al verschillende dingen geprobeerd..)
 
Frank -

Frank -

31/07/2006 17:04:00
Quote Anchor link
Offtopic:
Nog een voorbeeld van niet al te fraai programeren:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
while($roww = mysql_fetch_assoc($res) && $row = mysql_fetch_array($res2)){
?>

Waarom zowel mysql_fetch_assoc() als mysql_fetch_array() gebruiken? Wees concequent en maak duidelijke keuzes en hou je hieraan.

Hoe de boel aan de praat moet krijgen? Maak eerst eens een goed ontwerp en vraag je iedere keer af welke informatie je nodig hebt, waar je al over beschikt, etc. etc. Werk het eerst eens uit op papier en ga niet te snel programeren. Dat wordt geen succes, dat blijkt wel.
 
- wes  -

- wes -

31/07/2006 17:19:00
Quote Anchor link
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
<?

$user_sql
= 'SELECT username,id FROM users WHERE status = "1"';
$user_res = mysql_query($user_sql,$link);
if ($user_res && mysql_num_rows($user_res) >= 1)
{


    while($user_row = mysql_fetch_array($user_res))
    {

        
        $poke_sql = 'SELECT pokemon,typ FROM tabel WHERE user = "'.$user_row['username'].'"';
        $poke_res = mysql_query($poke_sql,$link);
        if ($poke_res && mysql_num_rows($poke_res) >= 1)
        {


            while ($poke_row = mysql_fetch_array($poke_res))
            {

                echo 'User: '.$user_row['username'].' heeft pokémon: '.$poke_row['pokemon'].' van het type: '.$poke_row['typ'].'<br>';    
            }

        }
else {
            
            echo 'User: '.$user_row['username'].' heeft geen pokémons!<br>';        
    
        }

    }


}
else {

    echo 'Geen users gevonden!';

}


?>


dit kan ook in 1 query btw, maar zo het antwoord op je vraag, typos onder voorbehoud
 
Niek s

niek s

31/07/2006 17:46:00
Quote Anchor link
ik heb het even aangepast, voor wat ik dan zou moeten hebben, en ik krijg dit:
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
<?php
                if(isset($_GET['act']) && $_GET['act'] == "mijn") {
                    $user_sql = 'SELECT p_id FROM user_pokemon WHERE u_id = "'.$_SESSION['user_id'].'"';
                    $user_res = mysql_query($user_sql);
                    if ($user_res && mysql_num_rows($user_res) >= 1) {
                        while($user_row = mysql_fetch_array($user_res)) {        
                            $poke_sql = 'SELECT * FROM pokemon WHERE id = "'.$user_row['p_id'].'"';
                            $poke_res = mysql_query($poke_sql);
                            if ($poke_res && mysql_num_rows($poke_res) >= 1) {
                                while ($poke_row = mysql_fetch_array($poke_res)) {
                                    echo '<tr>
                                    <td class="rij">
                                        '
.$row['id'].'
                                    </td>
                                    <td class="rij">
                                        <a href="'
.$row['link'].'">'.$row['naam'].'</a>
                                    </td>
                                    <td class="rij">
                                        '
.$row['type'].'
                                    </td>
                                    <td align="center" valign="middle" class="rij">'
;
                                        $sql2 = "SELECT * FROM user_pokemon WHERE u_id = '".$_SESSION['user_id']."' AND p_id = '".$row['id']."'";
                                        $res2 = mysql_query($sql2);
                                        if (mysql_num_rows($res2) == 0) {
                                            echo '<a href="index.php?da='.$row['id'].'"><img src="images/kruis.gif" border="0"></a>';
                                        }
else {
                                            echo '<a href="index.php?da='.$row['id'].'"><img src="images/vinkje.gif" border="0"></a>';
                                        }

                                    echo '
                                    </td>
                                    </tr>'
;    
                                }
                            }
else {
                                echo 'geen prokemons...';        
                            }
                        }
                    }
else {
                        echo 'Er is een fout... Je user kon niet gevonden worden!';
                    }     
                }

                ?>


maar wat het doet:

het laat 2 lege tabel_regels zien, en dan laat ie ALLE pokemons zien in de database, ook de pokemons die niet van mij zijn!?
 
- wes  -

- wes -

31/07/2006 18:03:00
Quote Anchor link
while ($poke_row


echo '<tr>
<td class="rij">
'.$row['id'].


dat moet je wel even goed aanpassen!

edit: overal in je script!
Gewijzigd op 01/01/1970 01:00:00 door - wes -
 
Niek s

niek s

31/07/2006 18:05:00
Quote Anchor link
ow ja..
wat stom van mij...
sorry..
ik ben scheel..
 

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.