Hallo,

Ik wil de resultaten van een query weergeven in een popup.
Vanwege het script kan dit denk ik niet via een <a href>

Dit is het script wat ik tot nu toe heb.
Ik hoop dat iemand mij kan helpen met een script.

  $main .= "
    Hier kun je de producten toevoegen.<br/> 

    <form action='' id='new_message' method='post'>
		<span class='formInput'>zoek:</span>
		<input type='text' name='zoekproduct' />
		<input id='popup' type='submit' name='searchBtn' value='zoek!' /></p>
    </form>"; 


			  // Als een zoekwoord wordt ingegeven:
    if(isset($_POST['searchBtn']))
	{
// Zoekfunctie:
    $statement = $db->prepare("
    SELECT 
		producten.productlink,
		prod_omschrijving.producttitel
    FROM
		producten
	INNER JOIN
		prod_omschrijving 
	ON
		producten.idproduct=prod_omschrijving.idproduct
    WHERE
		producten.productlink LIKE '%?%'
	OR
		prod_omschrijving.producttitel like '%?%'
    ");
	$statement->execute(array($_POST['zoekproduct'], $_POST['zoekproduct']));

			if (mysql_num_rows($lijstsql)>1)
			{
			$resultaten .= 'Er zijn '.mysql_num_rows($lijstsql).' producten gevonden.';
				while ($result = $statement->fetchObject())
				{
				$resultaten.= $result->producttitel;
				$resultaten.='<br/>';
				}
			}
			else
			{
			$resultaten	.='Er zijn geen resultaten gevonden';
			}
		
	}
echo $resultaten;
Waarom moet dat in een popup?

Wat werkt er niet aan bovenstaande voorgestelde oplossingen?

Hoe zou jij het dan doen ipv met een popup?
Zonder popup, gewoon op het 'normale' scherm.
Wat is de achterliggende gedachte/meerwaarde om het via popup te doen?
De achterliggende gedachte is vooral de overzichtelijkheid omdat je steeds kunt zien wat je al geselecteerd hebt.

Ik zal even een plaatje uploaden van mijn idee.
Je kunt net zo goed gewoon de hele pagina herladen als het formulier wordt verzonden, en de resultaten in een lijst weergeven. Dan kun je bijvoorbeeld bij elke rij in de lijst op een button klikken om dat product te kiezen, en bij dat kiezen herlaadt de pagina weer (omdat de lijst eigenlijk ook gewoon een formulier is). Je kunt dit achtereenvolgens doen, en de gekozen items verzamelen in een sessie.

Daarbij vonden veel mensen popups eritant, en worden soms popup blockers gebruikt etc.
Het script is voor intern gebruik. Voor zover ik het weet worden de jquery popups niet gebokkeerd door popupblockers.

Hier is de foto van mijn idee, alleen het zoekbalke staat dan op de achterliggende pagina.
http://www.podiumverhuurhaaglanden.nl/prive/Naamloos.png

Mijn idee is absoluut niet heilig en ik sta helemaal open voor alle andere (betere) suggesties.

Ik werk liever niet met sessies, maar het idee van Harry is natuurlijk ook uit te voeren door de producten meteen op te slaan in de database.
Ik denk eerlijk gezegd dat je op het gebied van PHP en javascript niet ver genoeg bent.
Zeker van javascript weet ik weinig tot niks, ik had via internet een aantal boeken gekocht, maar die blijken veel te oud te zijn om echt iets bruikbaars uit te halen.
Dit komt direct van: http://jqueryui.com/dialog/#default

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery UI Dialog - Default functionality</title>
  <link rel="stylesheet" href="//code.jquery.com/ui/1.10.4/themes/smoothness/jquery-ui.css">
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
  <script src="//code.jquery.com/ui/1.10.4/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css">
  <script>
  $(function() {
    $( "#dialog" ).dialog();
  });
  </script>
</head>
<body>
 
<div id="dialog" title="Basic dialog">
  <p>This is the default dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.</p>
</div>
 
 
</body>
</html>


Dit is de basis voor een dialog.
Als je dan kijkt naar hoe ze hem openen: http://jqueryui.com/dialog/#animated


<script>
  $(function() {
    $( "#dialog" ).dialog({
      autoOpen: false,
      show: {
        effect: "blind",
        duration: 1000
      },
      hide: {
        effect: "explode",
        duration: 1000
      }
    });
 
    $( "#opener" ).click(function() {
      $( "#dialog" ).dialog( "open" );
    });
  });
  </script>


Je ziet hier dat als er op #opener geklikt wordt dat dan de dialog geopend wordt. Je zou dit zelf kunnen doen d.m.v. een klik op b.v. een submit button of wat dan ook. Je kunt ook gewoon checken of er bijvoorbeeld iets ingetypt wordt in het zoekveld. Om daarna gelijk de dialog te openen waar men verder zou kunnen zoeken.

In de dialog zelf maak je gewoon een tabel met je data en indien gewenst een a href er achter. Als er op geklikt wordt zal de pagina geladen worden met het desbetreffende product. Als je nog verder wilt gaan kun je ook dit stuk compleet met javascript opvangen.
Dank je wel ik ga hier mee stoeien!

Reageren