login  Naam:   Wachtwoord: 
Registreer je!
 Forum

PHP en Javascript

Offline bambino - 11/04/2006 21:45 (laatste wijziging 12/04/2006 11:23)
Avatar van bambinoHTML interesse Hier is wat ik nu heb... vanonder staat men probleem 

index
  1. <html><title>Voorbeeldje</title><head>
  2. <script language="JavaScript">
  3. <!-- Begin
  4. function passGegevens(str) {
  5. top.frames['ltop'].document.getElementById(screen) = str;
  6. }
  7.  
  8. function LoadInfo(str) {
  9. window.bottom.location.href = "ztest3.php?id=" + str;
  10. }
  11. // End -->
  12. </script>
  13. </head>
  14. <frameset rows="*,100" frameborder="0">
  15. <frame name="ltop" src="home.php">
  16. <frame name="bottom" src="verwerk.php">
  17. </frameset><noframes></noframes>
  18. </body></html>


Home
  1. <html><head><title>Het formulier</title></head>
  2. <body bgcolor="#CACACA">
  3. <br>
  4. <?php
  5. include ("code/database.php") ;
  6.  
  7. $query = "SELECT naam , id FROM games ORDER BY naam ASC" ;
  8. $result = mysql_query($query) or die(mysql_error()) ;
  9.  
  10. $fill = "" ;
  11. while($gamedata = mysql_fetch_array($result))
  12. {
  13.  
  14.  
  15. $fill .= "<option value=\"".$gamedata['id']."\">".$gamedata['naam']."</option>" ;
  16. }
  17.  
  18.  
  19.  
  20. ?>
  21.  
  22.  
  23. <form action="testfile.php" method="post" name="form">
  24. <select name="id" onChange="parent.LoadInfo(this.form.id.value);">
  25. <?php print ($fill); ?>
  26. </select>
  27. <br>
  28. screens: <div id="screen"></div>
  29. </form></body></html>


verwerk
  1. <?php
  2. include("code/database.php") ;
  3.  
  4. $id = $_GET['id'] ;
  5. if($id)
  6. {
  7. /* hier komt normaal de query om je database aan te spreken, waarbij je op $id kunt zoeken. Ik ga er vanuit dat je dat kunt en zal voor het voorbeeld even
  8. handmatig een array aanmaken zodat jullie kunnen zien dat het werkt (alleen
  9. de id's 1, 2 & 3 zullen dus maar werken)
  10. */
  11.  
  12. $SC_query = "SELECT * FROM screens WHERE game_id = '$id'" ;
  13. $SC_result = mysql_query($SC_query) or die(mysql_error()) ;
  14. $select = "<select name=\"screen\">" ;
  15.  
  16. $i = "1" ;
  17. while($SC_data = mysql_fetch_array($SC_result)) {
  18.  
  19. $select .= "<option value=\"img/upload/".$SC_data['link']."\">Screenshot ".$i."</option>" ;
  20. $i++ ;
  21. }
  22. $select .= "</select>" ;
  23.  
  24. ?>
  25. <html><head><title>Hier wordt druk geparsed :)</title>
  26. <script language="JavaScript">
  27. <!--
  28. sel = '<?php echo($select); ?>' ;
  29. if (sel != "") {
  30. parent.passGegevens(sel); }
  31. else {
  32. parent.passGegevens('Geen screenshots gevonden'); }
  33. //-->
  34. </script>
  35. <head><body>
  36. <?php
  37. /* als je wilt kun je in je frameset de grootte van dit frame aanpassen en
  38.   hier nog je variabelen echoën. mocht er iets misgaan
  39.   */
  40. ?>
  41. </body></html>
  42. <?php
  43. }
  44. ?>


Dus die variabele gaat van de pagina verwerk.php naar index.php, maar dan wil ik hem op de juiste plaats schrijven in home.php, en kweet niet hoe 

17 antwoorden

Gesponsorde links
Offline vinTage - 11/04/2006 21:55 (laatste wijziging 11/04/2006 21:56)
Avatar van vinTage Nieuw lid
  1. <?php
  2. $print = "Je hebt de lijst met id : ".$_GET['id']." aangeroepen." ;
  3. ?>
  4.  
  5.  
  6. <html>
  7. <head>
  8. ...
  9. <?=$print?>
  10. ...
  11. </html>

zou gewoon moeten werken imo.
Offline bambino - 11/04/2006 22:01 (laatste wijziging 11/04/2006 22:02)
Avatar van bambino HTML interesse Ofneen toch niet, de php staat in een andere file! En die file wordt in het bestand gebracht via die image, maar dat werkt dus niet
Offline vinTage - 11/04/2006 22:03
Avatar van vinTage Nieuw lid ik snap je niet, is het goed of niet ?

Zonee, herstel je vraag dan even 
Offline bambino - 11/04/2006 22:07
Avatar van bambino HTML interesse heb men antwoord ge-edit 
  1. <?php
  2. $print = "Je hebt de lijst met id : ".$_GET['id']." aangeroepen." ;
  3. ?>

dat is het bestand : file.php

dat probeer ik aan te roepen met
  1. <html>
  2. <head>
  3. <script language='javascript'>
  4. gameid = 4;
  5. im = "<img src='file.php' alt='' />";
  6. document.write(im);
  7. </script>

Dit is pakweg index.php

Als ik daar dan
  1. <?php echo($print); ?>

aan toevoeg, dan werkt het niet 

Maar ik heb wat doorgezoch naar een script, en heb er een gevonden bij externe, en het blijkt te werken, nu moet ik het nog omvormen, ik moet nu offline, het werkt met frames, mocht iemand een betere oplossing weten, plz meldt ze dan en dan lees ik ze later wel!

toch bedankt
Offline ikkedikke - 11/04/2006 23:00
Avatar van ikkedikke PHP expert je kan die variabele in een sessie opslaan?
Offline Wim - 12/04/2006 00:06
Avatar van Wim Crew algemeen include? sessies? hidden field (unsecure)?
Offline bambino - 12/04/2006 10:42
Avatar van bambino HTML interesse Hmm, mja, sessies had ik ook al aan gedacht, maar kheb wederom geen idee hoe ik dat met javascript moet doen.

Maar wat ik nu heb, blijkt te werken, alleen 1 klein irritant ding . Ik heb nu een variable, en daar zit al men info door php geladen in. Maar die variabele is een volledige select - structuur...

  1. sel = '<select name="screen"><option>Screen 1 .... </option></select>


Zo dus, nu krijg ik die niet fatsoenlijk geprint waar ik hem wil... De enige print functie die ik ken van js is document.write() , maar dan krijg ik enkel de variabele... Is er een manier om dat ergens tussen " div tags ofzo te laten printen zonder dat ik heel de layout tussen die document.write() moet plaatsen?
Offline Simon - 12/04/2006 10:54
Avatar van Simon PHP expert document.write('<div>'+sel+'</div>);

zo mss?
Offline bambino - 12/04/2006 11:00
Avatar van bambino HTML interesse neen dat gaat niet, ik zal even de scripts kopieren...

index
  1. <html><title>Voorbeeldje</title><head>
  2. <script language="JavaScript">
  3. <!-- Begin
  4. function passGegevens(str) {
  5. top.frames['ltop'].document.getElementById(screen) = str;
  6. }
  7.  
  8. function LoadInfo(str) {
  9. window.bottom.location.href = "ztest3.php?id=" + str;
  10. }
  11. // End -->
  12. </script>
  13. </head>
  14. <frameset rows="*,100" frameborder="0">
  15. <frame name="ltop" src="home.php">
  16. <frame name="bottom" src="verwerk.php">
  17. </frameset><noframes></noframes>
  18. </body></html>


Home
  1. <html><head><title>Het formulier</title></head>
  2. <body bgcolor="#CACACA">
  3. <br>
  4. <?php
  5. include ("code/database.php") ;
  6.  
  7. $query = "SELECT naam , id FROM games ORDER BY naam ASC" ;
  8. $result = mysql_query($query) or die(mysql_error()) ;
  9.  
  10. $fill = "" ;
  11. while($gamedata = mysql_fetch_array($result))
  12. {
  13.  
  14.  
  15. $fill .= "<option value=\"".$gamedata['id']."\">".$gamedata['naam']."</option>" ;
  16. }
  17.  
  18.  
  19.  
  20. ?>
  21.  
  22.  
  23. <form action="testfile.php" method="post" name="form">
  24. <select name="id" onChange="parent.LoadInfo(this.form.id.value);">
  25. <?php print ($fill); ?>
  26. </select>
  27. <br>
  28. screens: <div id="screen"></div>
  29. </form></body></html>


verwerk
  1. <?php
  2. include("code/database.php") ;
  3.  
  4. $id = $_GET['id'] ;
  5. if($id)
  6. {
  7. /* hier komt normaal de query om je database aan te spreken, waarbij je op $id kunt zoeken. Ik ga er vanuit dat je dat kunt en zal voor het voorbeeld even
  8. handmatig een array aanmaken zodat jullie kunnen zien dat het werkt (alleen
  9. de id's 1, 2 & 3 zullen dus maar werken)
  10. */
  11.  
  12. $SC_query = "SELECT * FROM screens WHERE game_id = '$id'" ;
  13. $SC_result = mysql_query($SC_query) or die(mysql_error()) ;
  14. $select = "<select name=\"screen\">" ;
  15.  
  16. $i = "1" ;
  17. while($SC_data = mysql_fetch_array($SC_result)) {
  18.  
  19. $select .= "<option value=\"img/upload/".$SC_data['link']."\">Screenshot ".$i."</option>" ;
  20. $i++ ;
  21. }
  22. $select .= "</select>" ;
  23.  
  24. ?>
  25. <html><head><title>Hier wordt druk geparsed :)</title>
  26. <script language="JavaScript">
  27. <!--
  28. sel = '<?php echo($select); ?>' ;
  29. if (sel != "") {
  30. parent.passGegevens(sel); }
  31. else {
  32. parent.passGegevens('Geen screenshots gevonden'); }
  33. //-->
  34. </script>
  35. <head><body>
  36. <?php
  37. /* als je wilt kun je in je frameset de grootte van dit frame aanpassen en
  38.   hier nog je variabelen echoën. mocht er iets misgaan
  39.   */
  40. ?>
  41. </body></html>
  42. <?php
  43. }
  44. ?>


Dus die variabele gaat van de pagina verwerk.php naar index.php, maar dan wil ik hem op de juiste plaats schrijven in home.php, en kweet niet hoe 
Offline Simon - 12/04/2006 11:07 (laatste wijziging 12/04/2006 11:08)
Avatar van Simon PHP expert parent.passGegevens(sel);

-->

passGegevens(sel);

en doe in de body es document.write(sel); om te kijken wat er in zit
Offline bambino - 12/04/2006 11:22
Avatar van bambino HTML interesse Heb ik al gedaan, en het zit er juist in . Ik krijg het er alleen niet uit op home.php!!
Offline XeoN - 12/04/2006 15:20 (laatste wijziging 12/04/2006 15:24)
Avatar van XeoN HTML interesse
  1. <html><head><title>Het formulier</title></head>
  2. <body bgcolor="#CACACA">
  3. <br>
  4. <?php
  5. include ("code/database.php") ;
  6.  
  7. $query = "SELECT naam , id FROM games ORDER BY naam ASC" ;
  8. $result = mysql_query($query) or die(mysql_error()) ;
  9.  
  10. $fill = "" ;
  11. while($gamedata = mysql_fetch_array($result))
  12. {
  13.  
  14.  
  15. $fill .= '<option value="'.$gamedata['id'].'">".$gamedata['naam']."</option>' ;
  16. }
  17.  
  18.  
  19.  
  20. ?>
  21.  
  22.  
  23. <form action="testfile.php" method="post" name="form">
  24. <select name="id" onChange="parent.LoadInfo(this.form.id.value);">
  25. <?php print ($fill); ?>
  26. </select>
  27. <br>
  28. screens: <div id="screen"></div>
  29. </form></body></html>


Ik weet niet zo veel van PHP als ik zou willen, maar probeer dit is?
Offline Rens - 12/04/2006 15:22
Avatar van Rens Gouden medaille

Crew algemeen
  1. while($gamedata = mysql_fetch_array($result))
  2. {
  3.  
  4.  
  5. $fill .= '<option value=\"".$gamedata['id']."\">".$gamedata['naam']."</option>' ;
  6. }

Dat stukje klopt niet.
Maak er het volgende van:
  1. <?PHP // voor de kleurtjes
  2. while($gamedata = mysql_fetch_array($result))
  3. {
  4.  
  5.  
  6. $fill .= '<option value="'.$gamedata["id"].'">'.$gamedata["naam"].'</option>' ;
  7. }
  8. ?>
Offline XeoN - 12/04/2006 15:24
Avatar van XeoN HTML interesse Was ik net aan het aanpassen omdat ik ook de fout zag ;). Thx Rensjuh
Offline bambino - 12/04/2006 16:19 (laatste wijziging 12/04/2006 16:22)
Avatar van bambino HTML interesse @ rensjuh, da's waar, maar als ik dat oplost, dan is mijn probleem nog altijd niet weg . Want ik moet die variabele ergens geprint krijgen 

Misschien als ik ipv loadinfo, de variabele in een cookie laat plaatsen door javascript, en dan die cookie via PHP aanroep in de home pagina? Met PHP en cookies werkt het niet, want dan moet je herladen

@Xeon, ik zie niet wat je verandert hebt om eerlijk te zijn 
Offline Thomas - 13/04/2006 09:30
Avatar van Thomas Moderator Wat is nu het probleem precies?
Je hoeft toch niet per sé gegevens door te geven via het parent-frame?
Je kunt toch ook in "Home" rechtstreeks de locatie van "verwerk" aanpassen als je een andere optie selecteert?
Offline bambino - 14/04/2006 14:07 (laatste wijziging 15/04/2006 14:11)
Avatar van bambino HTML interesse Ok, kzal het gewoon een keer helemaal uitleggen.

Het is een systeem om een artikel te posten. Voor dat artikel (review ofzo) selecteer je een bepaalde game. Als je dan een game selecteert, wil ik dat er een lijst (of een select form ofzo) van alle screenshots van die game, naast het invulvak verschijnt. Waarop je dan kan klikken om de screenshot aan de tekst toe te voegen! Om die screenshotlijst samen te stellen, heb ik dus het ID nodig van de game, en moet ik daarmee dan een database doorzoeken (in PHP uiteraard), om zo een lijst of select samen te stellen, die moet dan geparset worden bij het oorspronkelijke formulier. Dit alles zonder te refreshen 

Het zou kunnen door de game select eerst te laten gebeuren, en dan pas naar het formulier te gaan, maar dan moet ik een hele hoop scrits aanpassen, en dat doe ik liever niet, want dan wordt dat weer moeilijk om te updaten etc.

Ik heb het opgelost, werkt nu met een popup . Ik zocht "getElementById("").innerHTML = ...". Bedankt voor de hulp!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.603s