[PHP / SQL] Specifieke gegevens opvragen.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Uitleg:
Ik wil graag specifieke gegevens uit mijn database opvragen door middel van bepaalde 'eisen' op te geven.



Bovenaan de pagina vraag ik de database op. Laten we de inhoud simpel houden.

IDInhoud
0001Blaat
0002Leeg
0003FOK!


De SQL voor het opvragen:
PHP:
1
$InstellingenOld = mysql_fetch_object(mysql_query("SELECT ID,Inhoud FROM test"));


Vraag:
Nu is mijn vraag. Hoe geef ik het veld INHOUD weer van de rij waar de ID 0002 is, in een php code! Dus niet met de sql tag WHERE !?

[ Voor 8% gewijzigd door Verwijderd op 28-12-2008 18:32 . Reden: uiteindelijke vraag aangepast! ]


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-09 19:03
LIMIT? met rand? google?

|>


Acties:
  • 0 Henk 'm!

  • TheBorg
  • Registratie: November 2002
  • Laatst online: 11-09 22:11

TheBorg

Resistance is futile.

mysql_fetch_object fetched maar één row.

Zie hier hoe je 0002 kunt ophalen:
http://nl2.php.net/mysql_fetch_object

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Sorry, ik heb mijn uiteindelijke vraag niet helemaal correct neer gezet!

Ik wil graag de gegevens van het veld INHOUD weergeven van de rij waar het veld ID, 0002 is !

Ik weet dat dit allemaal kan in de sql met een WHERE-tag en limit en dergelijken. Maar dit word mij te omslachtig voor het uiteindelijke doel waarvoor ik het wil gebruiken.

Acties:
  • 0 Henk 'm!

  • TheBorg
  • Registratie: November 2002
  • Laatst online: 11-09 22:11

TheBorg

Resistance is futile.

WHERE != omslachtig

code:
1
$x = mysql_result( mysql_query("SELECT Inhoud FROM test WHERE ID = 0002"), 0 );

Acties:
  • 0 Henk 'm!

Verwijderd

Of anders in een while-loop rij voor rij uit je result lezen, tot geen nieuwe rijen gelezen kunnen worden, of de gezochte rij gevonden is.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
De loop heb ik voor elkaar. Nu moet ik hem alleen nog zien te stoppen! :P
Heb je een Hint? O-)

Acties:
  • 0 Henk 'm!

  • Johnny
  • Registratie: December 2001
  • Laatst online: 12:20

Johnny

ondergewaardeerde internetguru

PHP:
1
2
3
4
5
6
7
while($instelling = mysql_fetch_object($result)) {

if($whatever) {
 break;
}

}

[ Voor 16% gewijzigd door Johnny op 28-12-2008 19:06 ]

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


Acties:
  • 0 Henk 'm!

Verwijderd

uhmmzz zonder where, beetje ranzig maar toch:

PHP:
1
2
3
4
5
6
7
8
9
$q = mysql_query("select id, inhoud from tabel");
while(list($id, $inhoud) = mysql_fetch_array($q))
{
  if($id == $geselecteerd)
  {
    echo $inhoud;
    break;
  }
}



Anders:
PHP:
1
2
$q = mysql_query(sprintf("select inhoud from table where id =%d", $geselecteerd));
list($inhoud) = mysql_fetch_array($q);

Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-09 19:03
dan loopt hij nog steeds je hele lijst door, ik snap niet dat jij limit of where een gedoe vind.. volgens mij moet je gewoon basic SQL tutorial doornemen.

|>


Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Als je where/limit al te moeilijk vind dan kun je beter stoppen want dan heb je gewoon niet begrepen hoe je om moet gaan met logica en databases. Begin bij het begin en lees een SQL tutorial en probeer gewoon alles eens uit in phpMyAdmin om het visueler te maken.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Maar voor dit al zou toch een korte php-achtig-iets moeten zijn?

Bijvoorbeeld: Het werkt niet, maar gewoon iets in de richting van

PHP:
1
echo $Inhoud(ID = 0002);

Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-09 19:03
PHP is een scripting taal, geen web framework............

|>


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
simon schreef op zondag 28 december 2008 @ 19:44:
dan loopt hij nog steeds je hele lijst door, ik snap niet dat jij limit of where een gedoe vind.. volgens mij moet je gewoon basic SQL tutorial doornemen.
Ik zei niet dat ik het een gedoe vind. De principes limit en where zijn ideaal. Maar ik dnek niet voor waar ik het wil gebruiken.

Mijn idee dan maar toch, ik zla het proberen uit te leggen.
Ik wil een prijslijst opzetten. Deze prijslijst staat in een tabel in SQL. Vervolgens wil ik op de pagina de tabel aanroepen en de prijs weergeven van het 'product'.
Punt is alleen dat er meerdere producten zijn met hun bijbehorende prijs.

Ik kan dus elke keer een complete regel op zetten en de waarden opvragen door middel van de id etc. Maar dit moet ik er toch gewoon uit kunnen filteren? Zonder dat ik telkens weer de hele database doorzoek naar een ID ?

[ Voor 3% gewijzigd door Verwijderd op 28-12-2008 20:12 ]


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Ik snap geen hol van wat je wil, maar wat is er mis met:
PHP:
1
2
3
4
5
6
7
8
$resultset = mysql_query("SELECT naam, prijs FROM producten";

while ($record = mysql_fetch_array($resultset)) 
{

  echo $record['naam'] . " kost &euro;" .$record['prijs'] . "<br />\n";

}

?

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-09 19:03
Feitelijk zoek je een ORM, zoals Active Record..

|>


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
CodeCaster schreef op zondag 28 december 2008 @ 20:15:
Ik snap geen hol van wat je wil, maar wat is er mis met:
PHP:
1
2
3
4
5
6
7
8
$resultset = mysql_query("SELECT naam, prijs FROM producten";

while ($record = mysql_fetch_array($resultset)) 
{

  echo $record['naam'] . " kost &euro;" .$record['prijs'] . "<br />\n";

}

?
In principe niks.
Nadeel is alleen dat het in dezelfde layout onder elkaar word opgesomd. En dat wil ik juist niet.
Ik wil het juist op verschillende plekken op de pagina aanroepen.

Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Als je variabelen onafhankelijk van de huidige positie van 'echo' wil gaan printen in PHP en niet ranzig wil gaan doen met outputbuffers moet je gaan kijken naar een templatesysteem als Template Power.

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-09 19:03
TemplatePower lijkt me niet echt aan te raden, laatste keer dat ik dat probeerde compilede 't de templates niet, en kun je beter naar Smarty kijken :)

|>


Acties:
  • 0 Henk 'm!

  • Johnny
  • Registratie: December 2001
  • Laatst online: 12:20

Johnny

ondergewaardeerde internetguru

Verwijderd schreef op zondag 28 december 2008 @ 20:18:

Ik wil het juist op verschillende plekken op de pagina aanroepen.
Bedoel je weergeven?

Dan kan je de output toch gewoon in een variable zetten en die op verschillende plaatsen weergeven.

Als je iedere keer een andere prijs wilt weergeven dan is het makkelijkst om gewoon een functie er van te maken zodat je niet iedere keer alle code opnieuw hoeft te schrijven.

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


Acties:
  • 0 Henk 'm!

Verwijderd

als je geen SQL wilt leren pak je toch gewoon Propel http://propel.phpdb.org/trac/
$inhoud = TestPeer::retrieveByPK("0002");

[ Voor 20% gewijzigd door Verwijderd op 28-12-2008 20:35 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Johnny schreef op zondag 28 december 2008 @ 20:25:
[...]


Bedoel je weergeven?

Dan kan je de output toch gewoon in een variable zetten en die op verschillende plaatsen weergeven.

Als je iedere keer een andere prijs wilt weergeven dan is het makkelijkst om gewoon een functie er van te maken zodat je niet iedere keer alle code opnieuw hoeft te schrijven.
TemplatePower lijtk me niet wat ik zoek.
En nogmaals, het heeft niks te maken met of ik sql wil leren of wat dan ook. De begrippen WHERE en limit ken ik allemaal en gebruik ik ook uiteraard. Maar in dit geval lijkt het mij niet makkelijk om te gebruiken!

@Johnny:
Het begint ondertussen een aardig ingewikkeld verhaal te worden, begin ik door te krijgen! ;) Terwijl het in mijn ogen zo simpel zou lijken!
Maar goed. Ik wil niet op verschillende plekken de zelfde waarde weergeven. Maar ik wil juist op verschillende plekken verschillende specifieke waarden weergeven.
Bijv:
Op plek 1 wil ik het veld INHOUD weergeven van rij ID 0002
Op plek 2 wil ik het veld INHOUD weergeven van rij ID 0001
En dit zou uiteindelijk dan kunnen oplopen tot een 100 maal.

En het is heel simpel op te lossen met telkens via MySQL de waarden ophalen via een WHERE ID=0002. Maar als ik dat op een gegeven moment 100 keer op zo'n pagina heb staan, dan word het onoverzichtelijk etc.
Dus ik dacht zo, er moet toch een optie zijn, dat ik heel simpel de inhoud van de rij weergeef met ID 002

Met de while-optie waren we al aardig op weg. Sterker nog, het volgende werkt n doet ook precies wat ik wil:

PHP:
1
2
3
4
5
<?php
while($set = mysql_fetch_object($databaserows)) {
        if($set->ID == "0002") { echo $set->INHOUD; break; }
}
?>


Maar dat moet toch veel en veel korter kunnen?

[ Voor 6% gewijzigd door Verwijderd op 28-12-2008 20:38 ]


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-09 19:03
En wat je nu doet is fout en dom. Nu haal je feitelijk van alles op, om 't vervolgens in PHP te gaan uitsorteren en doen. Daar schiet je geen drol mee op en overbelast je de server als je veel records hebt.

Gebruik gewoon je hersens en kies voor een ORM of schrijf normale queries. Anders moet je maar een programmeur inhuren.

|>


Acties:
  • 0 Henk 'm!

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Je probleem is dus:
a) je hebt honderden variabelen die uit een database komen
b) deze variabelen moeten op verschillende plaatsen, soms zelfs meermalen worden weergegeven

Gooi dan je databaseresultaten in een array, en roep deze aan? Wees creatief?

PHP:
1
2
3
4
5
6
7
8
$resultset = mysql_query("SELECT naam, prijs FROM producten";

while ($record = mysql_fetch_array($resultset)) 
{
  $prod[i]['prijs'] = $record['prijs'];
  $prod[i]['naam'] = $record['naam'];
  $i++;
}

En dat kan vast nog wel efficiënter. En dan gebruik je later in je code gewoon $prod[1]['prijs'], zo vaak als je wilt?

[ Voor 3% gewijzigd door CodeCaster op 28-12-2008 20:47 ]

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
simon schreef op zondag 28 december 2008 @ 20:39:
En wat je nu doet is fout en dom. Nu haal je feitelijk van alles op, om 't vervolgens in PHP te gaan uitsorteren en doen. Daar schiet je geen drol mee op en overbelast je de server als je veel records hebt.

Gebruik gewoon je hersens en kies voor een ORM of schrijf normale queries. Anders moet je maar een programmeur inhuren.
Nou nou nou..... :o

Uiteindelijk gebruik ik alle waardes die in de tabel zullen komen. En uiteindelijk zullen ze dus hoe dan ook allemaal gebruikt worden.
Alleen op de manier zoals het nu al lukt haal ik de waardes 100 keer op en plaats ik ze 100 keer.
En op de manier zoals ik gehoopt had dat het zou kunnen, haal ik de tabel in 1 keer op en filter ik met php de waarde er eruit die ik wil hebben op die plek.

Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-09 19:03
Niets nou nou nou. SQL is niet voor niets een Structured Query Language. Laat dan de SQL dingen ook aan SQL of een ORM (die 't toch aan je DBMS over laat) over.

[ Voor 36% gewijzigd door simon op 28-12-2008 20:54 ]

|>


Acties:
  • 0 Henk 'm!

  • Kettrick
  • Registratie: Augustus 2000
  • Laatst online: 07:46

Kettrick

Rantmeister!

Hij heeft gewoon gelijk hoor :>
Uiteindelijk gebruik ik alle waardes die in de tabel zullen komen. En uiteindelijk zullen ze dus hoe dan ook allemaal gebruikt worden.
Alleen op de manier zoals het nu al lukt haal ik de waardes 100 keer op en plaats ik ze 100 keer.
En op de manier zoals ik gehoopt had dat het zou kunnen, haal ik de tabel in 1 keer op en filter ik met php de waarde er eruit die ik wil hebben op die plek.
Kijk even naar de post boven je, daar staat je oplossing :). als je slechts één record op wil halen moet je een WHERE gebruiken :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
RoeLz schreef op zondag 28 december 2008 @ 20:55:
[...]

Hij heeft gewoon gelijk hoor :>

[...]


Kijk even naar de post boven je, daar staat je oplossing :). als je slechts één record op wil halen moet je een WHERE gebruiken :)
Deels geef ik hem ook wel gelijk.
Ik heb gewoon alle gegevens nodig. Dus het leek mij onzin om telkens weer opnieuw met een where de gegevens aan te roepen.

Maar idd. Ik zag de post hierboven al staan. En ben nu aan het proberen met een array.. Ik denk dat dat um wel gaat worden!
Tot nu toe in elk geval bedankt aan degenen die inzet hebben getoont! :+

Acties:
  • 0 Henk 'm!

  • MuisM4t
  • Registratie: Mei 2007
  • Niet online
simon schreef op zondag 28 december 2008 @ 20:39:
En wat je nu doet is fout en dom. Nu haal je feitelijk van alles op, om 't vervolgens in PHP te gaan uitsorteren en doen. Daar schiet je geen drol mee op en overbelast je de server als je veel records hebt.
Het is niet fout en dom : TS begint net met het gebruik van databases en moet dus nog even een zetje in de goede richting krijgen.
Ik neem aan dat jij niet vanaf je geboorte wist hoe te werken met een SQL database?

Belangrijk is bij het werken met een MySQL database om te letten op serverbelasting. Vraag alleen op wat je ook daadwerkelijk gaat gebruiken en probeer dit zo efficient mogelijk te doen.

In dit geval weet je zeker dat je alles wat in de tabel staat gaat gebruiken. Het is daarom beter de manier van Codecaster te gebruiken dan dat je die honderd records allemaal apart en in een willekeurige volgorde gaat aanroepen, met aparte "WHERE" queries. Dan zou je sommige queries namelijk dubbel uitvoeren en waarschijnlijk allemaal in willekeurige volgorde, zodat de server steeds opnieuw moet zoeken.

[ Voor 5% gewijzigd door MuisM4t op 28-12-2008 21:13 ]


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-09 19:03
ok, ik chargeer, je moet beginnen met leren, al wist ik dat natuurlijk vanaf dag 0 ;)

Nee, maar de TS is al meerdere malen gezegd, begin gewoon met een SQL tutorial. Zorg dat je de basics van SQL zsm door hebt. Uiteindelijk ontdek je dan dat 't veel logischer om de SQL te gebruiken zoals 't ontworpen is.

|>


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
MuisM4t schreef op zondag 28 december 2008 @ 21:11:
[...]

Het is niet fout en dom : TS begint net met het gebruik van databases en moet dus nog even een zetje in de goede richting krijgen.
Ik neem aan dat jij niet vanaf je geboorte wist hoe te werken met een SQL database?

Belangrijk is bij het werken met een MySQL database om te letten op serverbelasting. Vraag alleen op wat je ook daadwerkelijk gaat gebruiken en probeer dit zo efficient mogelijk te doen.

In dit geval weet je zeker dat je alles wat in de tabel staat gaat gebruiken. Het is daarom beter de manier van Codecaster te gebruiken dan dat je die honderd records allemaal apart en in een willekeurige volgorde gaat aanroepen, met aparte "WHERE" queries. Dan zou je sommige queries namelijk dubbel uitvoeren en waarschijnlijk allemaal in willekeurige volgorde, zodat de server steeds opnieuw moet zoeken.
Beginner of niet, daar kunnen we over gaan twisten, het leek mij niet handig als ik zowiezo alle gegevens uit de tabel ga gebruiken om ze telkens weer apart aan te roepen! Precies zoals jij hierboven goed uitlegd! _/-\o_

Een oplossing vinden is een kunst.
Maar je probleem duidelijk uitleggen kan ook knap lastig zijn als je niet weet waar je naar zoekt! Zoals ik in dit geval had.
En zoals de oplossing met de array zoals CodeCaster deze gaf lijkt goed te werken! Ik ben er mee aan het experimenteren!

Ik had alleen verwacht dat er wel een standaard php-tag voor zou zijn om dit te doen!

@Simon: Ik werk al wel een tijdje met SQL, ik zeg niet dat ik alles beheers (Zoals alle begrippen! :+ ) , maar het leek mij gewoon onzin om telkens weer met een nieuwe WHERE-quiry alles opnieuw te laten doorzoeken.

[ Voor 7% gewijzigd door Verwijderd op 28-12-2008 21:23 ]


Acties:
  • 0 Henk 'm!

  • Keiichi
  • Registratie: Juni 2005
  • Laatst online: 11-09 21:35
Verwijderd schreef op zondag 28 december 2008 @ 21:03:
[...]
Ik heb gewoon alle gegevens nodig. Dus het leek mij onzin om telkens weer opnieuw met een where de gegevens aan te roepen.
Als de tabels niet heel groot zijn, zou het geen probleem zijn. Maar als je database bv gigabytes groot is, dan is het verstandiger om gewoon wat vaker een query te doen, dan de hele db met 1 query te laden. (De resultaten moeten ergens blijven en dat in het geheugen)

Solar @ Dongen: http://solar.searchy.net/ - Penpal International: http://ppi.searchy.net/


Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op zondag 28 december 2008 @ 21:21:
[...]


Beginner of niet, daar kunnen we over gaan twisten, het leek mij niet handig als ik zowiezo alle gegevens uit de tabel ga gebruiken om ze telkens weer apart aan te roepen! Precies zoals jij hierboven goed uitlegd! _/-\o_

Een oplossing vinden is een kunst.
Maar je probleem duidelijk uitleggen kan ook knap lastig zijn als je niet weet waar je naar zoekt! Zoals ik in dit geval had.
En zoals de oplossing met de array zoals CodeCaster deze gaf lijkt goed te werken! Ik ben er mee aan het experimenteren!

Ik had alleen verwacht dat er wel een standaard php-tag voor zou zijn om dit te doen!

@Simon: Ik werk al wel een tijdje met SQL, ik zeg niet dat ik alles beheers (Zoals alle begrippen! :+ ) , maar het leek mij gewoon onzin om telkens weer met een nieuwe WHERE-quiry alles opnieuw te laten doorzoeken.
Ik denk dat ik nog niet helemaal begrijpen wat je nou precies wilt. Wat ik eruit op kan maken is dat je alle regels uit je database stuk voor stuk weer wilt geven, maar dan de laatste eerst op-/aflopend naar de eerste?

Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Verwijderd schreef op zondag 28 december 2008 @ 20:46:
[...]

Nou nou nou..... :o

Uiteindelijk gebruik ik alle waardes die in de tabel zullen komen. En uiteindelijk zullen ze dus hoe dan ook allemaal gebruikt worden.
...
En op de manier zoals ik gehoopt had dat het zou kunnen, haal ik de tabel in 1 keer op en filter ik met php de waarde er eruit die ik wil hebben op die plek.
Dus feitelijk wil je in php alleen maar een sortering doen? Bedenk dan eens goed waarop je wilt sorteren en zet dit in de dbase. Dan kan je gewoon met een order by je sortering krijgen...

Of ik snap het niet helemaal of je bent met een olifant een mug aan het doodslaan. Als jij alle gegevens wilt laten zien, je hebt iets waarmee je aangeeft wat waar moet. Verplaats dit iets dan gewoon naar je dbase...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
CodeCaster schreef op zondag 28 december 2008 @ 20:44:
Je probleem is dus:
a) je hebt honderden variabelen die uit een database komen
b) deze variabelen moeten op verschillende plaatsen, soms zelfs meermalen worden weergegeven

Gooi dan je databaseresultaten in een array, en roep deze aan? Wees creatief?

PHP:
1
2
3
4
5
6
7
8
$resultset = mysql_query("SELECT naam, prijs FROM producten";

while ($record = mysql_fetch_array($resultset)) 
{
  $prod[i]['prijs'] = $record['prijs'];
  $prod[i]['naam'] = $record['naam'];
  $i++;
}

En dat kan vast nog wel efficiënter. En dan gebruik je later in je code gewoon $prod\[1]['prijs'], zo vaak als je wilt?
CodeCaster,
Je code werkt goed.
Ik krijg het alleen niet voor elkaar om de variable i aan te passen naar mijn eigen ID.
Heb je hier een tip voor?

Acties:
  • 0 Henk 'm!

  • ufear
  • Registratie: December 2002
  • Laatst online: 11-09 16:35
PHP:
1
2
3
4
5
6
7
8
9
<?php
$resultset = mysql_query("SELECT id, naam, prijs FROM producten");

while ($record = mysql_fetch_array($resultset)) 
{
  $prod[$record['id']]['prijs'] = $record['prijs'];
  $prod[$record['id']]['naam'] = $record['naam'];
}
?>


Of gewoon $i++; laten staan en $i gebruik ipv i.

Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
i is een nummerieke waarde om de array uit te lezen.

Verdiep je aub eens in arrays en while/for each loops. Zie b.v.:
http://nl3.php.net/manual/en/control-structures.while.php
http://nl3.php.net/array
http://nl2.php.net/foreach

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
En dus onmogelijk aan te passen naar een eigen waarde?
Uitgezonderd het standaard ophogen door middel van de i++ ?

@ufear : Dat was idd 1 van de vele dingen die ik geprobeerd had, maar helaas geen effect gaf.

Daarnaast heb ik verschillende array topics doorgenomen. Daarbij heb ik gelijk de fetch_array topics doorgenomen. De variabel topics door genomen. Etc.
Maar nergens stond de vorm beschreven zoals CodeCaster hem toegepast heeft. (Dus: $prod[i]['naam'] )

[ Voor 60% gewijzigd door Verwijderd op 29-12-2008 00:56 ]


Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
Wat lukt er dan met de oplossing van ufear?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het geheel werkt als ik de variabel i gewoon laat optellen. Maar ik wil dit vervangen door mijn eigen id uit diezelfde database.

En ik denk dat ik zo ongeveer weer wat het probleem is: De id die ik er nu in zet, is geen nummer, maar een tekst als het ware. Dus ik zoek nu een functie die de tekst omzet in cijfers, als het ware! (Aangezien de tekst eigenlijk al cijfers zijn!)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Opgelost door er:

PHP:
1
$i = (int)$record['ID'];


neer te zetten.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Okee. Nog even dan voor hoe het uiteindelijk is geworden:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php

$OpvragenGegevens = mysql_query("SELECT ID,Inhoud FROM tabel");
while($record = mysql_fetch_array($OpvragenGegevens)) 
{
  $i = (int)$record['ID'];
  $varia[$i]['ID'] = $record['ID'];
  $varia[$i]['Inhoud'] = $record['Inhoud'];
} 

/*
Opvragen met : <?php echo $varia[0002]['Inhoud'] ?>
Geeft als resultaat: 'Leeg'
*/

?>


Bedankt allen voor de inspanning! Vooral CodeCaster! O-) En noork voor de uiteindelijke stille hint dat het een int moest zijn!

[ Voor 11% gewijzigd door Verwijderd op 29-12-2008 01:41 . Reden: noork bedanken ]


Acties:
  • 0 Henk 'm!

  • JJerome
  • Registratie: Oktober 2007
  • Laatst online: 27-07 15:33
Edit: wow, hele 2e pagina gemist.

[ Voor 76% gewijzigd door JJerome op 29-12-2008 10:14 ]


Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-09 19:03
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php 
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

$OpvragenGegevens = $mysqli->query("SELECT ID, Inhoud FROM tabel"); 
while ($record = $OpvragenGegevens->fetch_assoc()) {
{ 
  $varia[$record['ID']]['ID'] = $record['ID']; 
  $varia[$record['ID']]['Inhoud'] = $record['Inhoud']; 
}  

/* 
Opvragen met : <?php echo $varia[0002]['Inhoud'] ?> 
Geeft als resultaat: 'Leeg' 
*/ 

?>

even uit mijn kop, is ietwat netter, je hoeft sowieso niet een getal om te casten naar int, aangezien php loose typed is gaat dat wel goed.

En maybe wat leesmateriaal: http://nl3.php.net/manual/en/book.mysqli.php

[ Voor 6% gewijzigd door simon op 29-12-2008 10:56 ]

|>


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op mijn php admin zie ik: MySQL client version: 4.1.15
En bij de Requirements van de mysqli zie ik staan dat je versie 4.1.3 moet hebben (of erboven).

Dus ik neem automatisch even aan dat ik daar gewoon onder zit. Bovenstaande zal dus denk ik niet gaan werken?

In elk geval bedankt voor de tip en ik zou het in gedachten houden..!

Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
De gewone mysql php-connector werkt toch goed?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Noork schreef op maandag 29 december 2008 @ 13:06:
De gewone mysql php-connector werkt toch goed?
Idd. Maar wat ik dan weer van de introductie begreep is dat dit beter werkt ofzo? Zal wel te maken hebben met snelheid ofzo..

Acties:
  • 0 Henk 'm!

  • simon
  • Registratie: Maart 2002
  • Laatst online: 08-09 19:03
Vanaf PHP 6 is de gewone MySQL connector deprecated, altijd goed om juiste gebruik zsm aan te leren, bij goed gebruik kan MySQLi sneller zijn dan de oude.

|>

Pagina: 1