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: 1 2 volgende »

Niek s

niek s

30/07/2006 22:09:00
Quote Anchor link
Hi mensen,

ik ben dus nu bezig met die 'pokemon' site van mijn broertje, en ik kom er alleen nu niet meer uit!

Weet iemand waarom dit niet werkt? (het zet alleen een witte pagina op het scherm (error reporting staat aan)

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
<?php
                if((isset($_GET['act']) && $_GET['act'] == "mijn")){
                    $i = 1;
                    $sql1 = "SELECT p_id FROM ".$_SESSION['user_id']."_pokemon WHERE id = '".$i."'";
                    $sql2 = "SELECT * FROM pokemon WHERE id = '".$idd."'";
                    while ($i <= 300) {
                        $res1 = mysql_query($sql1);
                        while ($row1 = mysql_fetch_array($res1)) {
                            $idd = $row1['p_id'];
                            if (mysql_num_rows($res1) == 0) {
                                exit();
                            }

                            $res = mysql_query($sql2);
                            $row = mysql_fecth_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">
                                    <a href="index.php?add='
.$row['id'].'"><img src="images/add.gif" border="0"></a>
                                </td>    
                                </tr>'
;
                            
                        }

                    $i++;
                    }

                exit();
                }

                ?>


MvG,
niek
 
PHP hulp

PHP hulp

17/11/2024 15:30:53
 
Niek s

niek s

30/07/2006 22:11:00
Quote Anchor link
P.s.:

als ik achter iedere query 'or die(mysql_error())' zet, dan werkt het nog steeds niet...
dan zie ik nog steeds een witte pagina, zonder sql fouten ofzo.

Dit is wat het script moet doen:

het haald een id uit ene tabel (p_id is het id) en zoekt dan in een andere tabel naar dat zelfde id (heet daar id) en echo't dan de gegevens:
id,naam,link,type
Gewijzigd op 01/01/1970 01:00:00 door niek s
 
Arjan Kapteijn

Arjan Kapteijn

30/07/2006 22:18:00
Quote Anchor link
Heb je wel een ?act=mijn achter je url staan?
 
Niek s

niek s

30/07/2006 22:19:00
Quote Anchor link
ja.. dat heb ik...
(ik heb bij mijn vorige post er ff bijgezet wat het script moet doen :-p is wel zo handig :-P )
 
Frank -

Frank -

30/07/2006 22:23:00
Quote Anchor link
Quote:
$sql1 = "SELECT p_id FROM ".$_SESSION['user_id']."_pokemon WHERE id = '".$i."'";

Begrijp ik het goed dat iedere user (user_id) zijn eigen tabel heeft? Zo ja, dan heb je een ernstige fout in je databasemodel zitten. Ga je dan eens verdiepen in normalisatie.
 
Niek s

niek s

30/07/2006 22:25:00
Quote Anchor link
ja iedere gebruiker heeft zijn eigen tabel.. maar daar gaat het nu niet om(was nie echt een andere oplossing, of het word nog ingewikkelder dan het nu al is, en ik denk dat het dan niet meer mijn niveau is, en ik wil het wel stap voor stap opbouwen)
 
Arjan Kapteijn

Arjan Kapteijn

30/07/2006 22:29:00
Quote Anchor link
Maak een koppeltabel. Één tabel waarin je alle pokemons plaats, en iedere pokemon heeft een id. Één tabel met daarin je gebruiker, en iedere gebruiker heeft een id. Vervolgens een kopeltabel met 2 foreign keys (eg, de verwijzingen dus).
 
Niek s

niek s

30/07/2006 22:30:00
Quote Anchor link
maar in de gebruiker tabel staat meer!

daarin staan de pokemons van de gebruiker, met hun level, kracht enz.
 
Arjan Kapteijn

Arjan Kapteijn

30/07/2006 22:32:00
Quote Anchor link
In de gebruikerstabel horen dingen als emailadres en wachtwoorden enzo. In die kopeltabel past ook prima gegevens over hun level/kracht/etc.
 
Niek s

niek s

30/07/2006 22:35:00
Quote Anchor link
hmm, maar er is geen mogelijkheid om het op deze manier nog te fixen? (want ik heb een systeem van pakweg 500 regels, en da is veel werk om allemaal weer aan te passen)
 
Red Crew

Red Crew

30/07/2006 22:36:00
Quote Anchor link
Ja dat kan is kijken bij database normalistie 3NF

1 tabel users
1 tabel pokemons
1 tabel poke levels
1 tabel krachten

en dan 1 koppeltabel userid, pokeid, levelid en kracht id

zoals Arjan reeds gezegd had
 
Frank -

Frank -

30/07/2006 22:38:00
Quote Anchor link
Quote:
een systeem van pakweg 500 regels
Dat is een klein systeempje waar je nu een kapitale fout in hebt zitten. Natuurlijk mag je verder bouwen op drijfzand, maar je weet nu al dat je vroeg of laat hopeloos in de problemen gaat komen.

De database is de kern van het systeem, als dan het datamodel niet goed is, heb je een probleem dat je z.s.m. moet oplossen. Verder bouwen is zinloos.
 
Niek s

niek s

30/07/2006 22:39:00
Quote Anchor link
maar wat is dan het nadeel van deze manier?
 
Frank -

Frank -

30/07/2006 22:40:00
Quote Anchor link
Ga maar eens aan de slag met dit artikel: http://www.phphulp.nl/php/tutorials/3/150/

Dan zul je zelf ontdekken wat er fout is aan je huidige model.
 
Niek s

niek s

30/07/2006 22:47:00
Quote Anchor link
Maar is er geen mogelijkheid om het te fixen zoals het nu is? zonder dat ik dat moet doen? dan maak ik namelijk alls alles goed werkt wel ff een testsite, en daar normaliseer ik dan de hele boel, dan kan ik het dan in een keer omklappen... Ik heb nu namelijk niet meer zo heel veel tijd meer...
 
Frank -

Frank -

30/07/2006 23:09:00
Quote Anchor link
Het probleem dat je nu hebt, is wel op te lossen. Een goed systeem hier van maken, is onmogelijk.

Begin eens om exit() er uit te gooien en dit te vervangen door een keurige foutmelding. Vervolgens ga je na iedere if ook een else neerzetten. Hier produceer je wat output, een echo, zodat je weet waar je in het script bent gebleven.

Maar ga gooi jouw database is vredesnaam z.s.m. weg en ga iets beters maken. Dit gaat je nog heel veel problemen opleveren.

En 500 regels code, dat is echt helemaal niets. Meestal bestaat alleen de foutafhandeling al uit meer regels... Een opmerking als
Quote:
als ik achter iedere query 'or die(mysql_error())' zet
geeft ook aan dat er nog hele stukken script ontbreken. Dit had namelijk niet eens mogen ontbreken! (of een variant hierop, maar in elk geval iets van foutafhandeling)
 
Niek s

niek s

31/07/2006 13:08:00
Quote Anchor link
500 is voor mij veel :p

Maar ik krijg niks op het scherm, ook niet een foutmelding, maar ook niet het script-deel dat hiervoor komt! (error_reporting staat aan (E_ALL))...

Normaal zou er nog een tabel boven moeten staan, maar dat doet ie nu ook niet, dat betekent dus dat er iets fout is met het script waardoor ie het niet kan runnen, het moet dit scriipt wel zijn, maar ik kmo er niet uit.

Ik ga het dusnu proberen te fixen, als het werkt, dan ga ik op localhost het 'normaliseren' en het dan in een klap uploaden zonder dat iemand er last van heeft gehad..

MvG,
Niekk
 
Niek s

niek s

31/07/2006 14:26: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
<?php
                if (isset($_GET['pokemon'])) {
                    echo '<tr><td class="cellborder" align="center">';
                    $q1 = "SELECT pokemon FROM login WHERE id = '".$_SESSION['user_id']."'";
                    $r1 = mysql_query($q1) or die(mysql_error());
                    while ($row1 = mysql_fetch_array($r1)) {
                        $id = $row1['pokemon'];
                    }

                    $ids = explode(",",$id);
                    $q2 = "SELECT naam FROM pokemon WHERE id = '".$_GET['pokemon']."'";
                    $r2 = mysql_query($q2) or die(mysql_error());
                    while ($row2 = mysql_fetch_array($r2)) {
                        echo "<h2>".$row2['naam']."</h2>";
                    }

                    foreach($ids as $_GET['pokemon']) {
                        $q3 = "SELECT level FROM login WHERE id = '".$_SESSION['user_id']."'";
                        $r3 = mysql_query($q3) or die(mysql_error());
                        while ($row3 = mysql_fetch_array($r3)) {
                            echo "level";
                        }
                    }

                    echo '</td></tr>';
                    exit();
                }

                ?>


Dat is wat ik nu heb, in de tabel 'login' staan alle gebruikers, in de tabel 'pokemon' staan alle pokemons.

in de tabel login staan de pokemon van de gebruiker op deze manier opgeslagen, op id: 12,53,147 enz.
Maar ik heb daar ook een veld 'level' bv: 45,3,88

eerste level hoort bij eerste pokemon enz. maar ik kom er aleen nu niet meer uit, wat het script moet doen is dus de pokemon die met GET gegeven is (pagina.php?pokemon=12 bijvoorbeeld). die pokemon moet worden gezocht in de db, en dan ge-echo't worden met level.

Dit is dus wat ik tot nu toe heb, en ik kom er niet meer uit. (wat het nu o phet scherm zet is de naam van de pokemon, en daaronder (bij iedere pokemon!)
levellevel (2 keer dus...)
Gewijzigd op 01/01/1970 01:00:00 door niek s
 
Frank -

Frank -

31/07/2006 14:40:00
Quote Anchor link
Quote:
in de tabel login staan de pokemon van de gebruiker op deze manier opgeslagen, op id: 12,53,147 enz.
Maar ik heb daar ook een veld 'level' bv: 45,3,88
Ik krijg de indruk dat het allemaal iets te hoog gegrepen is. In 1 record mag slechts 1 gegeven staan. Daar kan dus nooit 12, 53 en 147 in staan. Dit hadden 3 records moeten zijn.

Ik kan je dus niets anders aanraden dan de boel te vergeten en opnieuw te beginnen. Ga je eens verdiepen in normalisatie en hoe je databases moet gebruiken. Dat is niet eenvoudig, maar altijd nog eenvoudiger dan met allerlei lapmiddelen de boel die je nu hebt aan de praat krijgen. (en onderhouden...)
 
Niek s

niek s

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

id | pokemon_id | user_id | level

?
 
- wes  -

- wes -

31/07/2006 14:46:00
Quote Anchor link
gemene jattert!

:)
 

Pagina: 1 2 volgende »



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.