Goeiendag, dit is mijn eerste topic op dit forum dus vergeef mij aub als ik sommige dingen niet goed heb begrepen betreft de regels.
Als ik dus onzin praat in jullie ogen (ook als het gaat om mijn werkwijze) dan hoor ik jullie graag, ik ben hier inmiddels om te leren!
Ik ben een student programmeur en voor mijn opleiding ben ik bezig met een simpele boeken winkel te maken met PHP die de boeken uit de DB haalt.


Ik zit meer met het probleem dat ik met behulp van jQuery een pop up te zien moet krijgen zodra er op een informatie knopje wordt geklikt. In deze popup zit extra gegevens over de gekozen boek.
Het probleem is echter dat wanneer ik een boek aan klik, de informatie van alle boeken te zien krijg, wat dus niet de bedoeling is.
Ik heb dit voor elkaar gekregen door het in een while loop te zetten, ik weet dat dit waarschijnlijk niet de goede oplossing is. Alleen ik moet er dus voor zorgen dat alleen de informatie van de gekozen boek te voorschijn komt. Ik heb helaas geen idee dus ik hoopte dat jullie hier mij mee kunnen helpen.

Bedankt voor jullie tijd en ik hoop deel uit te gaan maken van een community die mij kan helpen groeien.
waarschijnlijk selecteer je alle data, terwijl je alleen maar de data van 1 boek wilt hebben.

Oplossing, voer een query uit, waarbij je alleen maar het betreffende boek selecteert, dmv het id van het boek?
Plaats even je code erbij, de glazenbol van Obelix en Aar zijn stuk (die opmerking heb ik al zo vaak gehad dus die bespaar ik je alvast en welkom :) )
Dit zal waarschijnlijk echt heel noob klinken, maar hoe ga ik dat doen want zo knippen plakken dat ziet er echt heel slordig uit. En bedankt!

In PHP tags of [ code][/ code] spatie even verwijderen :)


		<?php
				
			
					Connect();
					
					// De sql voor het opvragen van de boeken.
					$sql = "SELECT * FROM `boeken`";
					
					$result = mysql_query($sql);
					$result1 = mysql_query($sql);
					
					//$iban = ($rij['IBAN']);
					//$titel = ($rij['titel']);
					//$auteur = ($rij['auteur']);
					//$uitgeverij = ($rij['uitgeverij']);
					//$druk = ($rij['druk']);
					//$prijs = ($rij['prijs']);
					//$beschrijving = ($rij['beschrijving']);
					//$cover = ($rij['image']);
					//$voorraad = ($rij['voorraad']);
					
					
					
		?>


		<!-- De Pop-up venster met informatie over de geselecteerde boek. -->
		<div class="popup">
					<table border="0" width="500px">
					<?php
					
					while($row1 = mysql_fetch_array($result1))
					{
					?>
						<tr>
							<td colspan="3"><h3><?php echo $row1['titel']; ?></h3></td><td id="sluiten"><img src="images/cross.png" id="close" alt="cross" width="17" height="" /></td>
						</tr>
						<tr>
							<td rowspan="6"><img src="<?php echo  $row1['image']; ?>" alt="Cover" width="200" height="" /></td>
							<td><h6>Auteur:  <?php  $row['auteur']; ?></h6></td>
						</tr>
						<tr>
							<td><h6>Beschikbaarheid:  <?php echo  $row1['voorraad']; ?><br /></h6></td>
						</tr>
						<tr>
							<td><h5>Prijs: &#8364;<?php echo  $row1['prijs']; ?></h5><br></td>
						</tr>
						<tr>
							<td><h6>Beschrijving: <br><br> <?php  $row1['beschrijving']; ?></h6></td>
						</tr>
						
						<tr>
							<td><h6><?php echo "beschrijving"/*  $_row['beschrijving'] */;?></h6></td>
						</tr>
						<tr>
							<td><button class="button">Plaats in winkelmandje</button></td>
						</tr>
						<?php
						}
						?>
					</table>
					
		</div>
		<!-- Einde van de pop-up venster -->






<tr>
					<?php 
					
					// Het ophalen van de boeken en in een tabel zetten met een info-knopje 
					while($row = mysql_fetch_array($result))
					{
					?>
						<td>
							<?php echo $row['titel']; ?>
							<div id="image" style="background: url('<?php echo $row['image']; ?>'); background-size:200px;">
								<div id="i" class="i"><img src="images/info.png" alt="info" width="20" height="" /></div>
							</div>
						</td>
					<?php
					}
					?>
				</tr>




Als je nog wat meer wilt weten dan hoor ik het graag.
En op welk knopje klik je voor je popup?
Op deze:


 <div id="i" class="i"><img src="images/info.png" alt="info" width="20" height="" /></div>


[size=xsmall]Toevoeging op 12/12/2012 21:37:27:[/size]

Hier is de jQuery code dan ook:


//	De jQuery functie voor de popup venster
    $(document).ready(function() {
     $("#sluiten").click(function (){
	     $(".popup").fadeOut('slow'); 
	      });
	    $(".i").click(function(){
		   $(".popup").fadeIn('slow'); 
	    });
	    

           });
Durf het niet helemaal zeker te zeggen, maar op lijn 75 gebruik je een While-lus, dit is om meerdere resultaten uit de database te halen. Ik denk (durf niet zeker te zeggen want ben geen pro) dat als je er 1 record van maakt, het probleem opgelost is
Ik heb je code iets veranderd. Ik had hem ook voor je helemaal correct kunnen maken dat heb ik niet gedaan omdat ik vind dat je het zelf uit moet vinden ( uiteraard helpen we je erbij )

kijk is naar je code zoals ik het hier een beetje veranderd heb.

<?php
    Connect();

    $errors = array();
    
    // De sql voor het opvragen van de boeken.
    $sql = "SELECT 
                IBAN, titel, auteur, uitgeverij, druk, prijs, beschrijving, image, voorraad 
            FROM boeken
            ";
    
    $result = mysql_query($sql);

    if(!$result) {
        $errors[] = 'Kon gegevens niet ophalen';
    }
    else {
?>        <div class="popup">
                    <table border="0" width="500px">
<?php
        while($row = mysql_fetch_assoc($result)) {
            ?>
            <tr>
                            <td colspan="3"><h3><?php echo $row1['titel']; ?></h3></td><td id="sluiten"><img src="images/cross.png" id="close" alt="cross" width="17" height="" /></td>
                        </tr>
                        <tr>
                            <td rowspan="6"><img src="<?php echo  $row1['image']; ?>" alt="Cover" width="200" height="" /></td>
                            <td><h6>Auteur:  <?php  $row['auteur']; ?></h6></td>
                        </tr>
                        <tr>
                            <td><h6>Beschikbaarheid:  <?php echo  $row1['voorraad']; ?><br /></h6></td>
                        </tr>
                        <tr>
                            <td><h5>Prijs: &#8364;<?php echo  $row1['prijs']; ?></h5><br></td>
                        </tr>
                        <tr>
                            <td><h6>Beschrijving: <br><br> <?php  $row1['beschrijving']; ?></h6></td>
                        </tr>
                        
                        <tr>
                            <td><h6><?php echo "beschrijving"/*  $_row['beschrijving'] */;?></h6></td>
                        </tr>
                        <tr>
                            <td><button class="button">Plaats in winkelmandje</button></td>
                        </tr>
            <?php
        }
    }
?>
                    </table>
            </div>


tip om het op te lossen:(d.m.v. php ) zet een link om de iban bijvoorbeeld en controleer welke get waarde er is meegegeven.

<?php
<a href="?iban= <?php echo $row['IBAN'] ?>">iban</a>
?>

een mogelijke query die je dan kan uitvoeren is

<?php
$book = "SELECT
IBAN, titel, auteur, uitgeverij, druk, prijs, beschrijving, image, voorraad
FROM boeken
WHERE IBAN = '" . $_GET['IBAN'] . "'
";
?>

om te controleren of er een get waarde is meegegeven kan je zoiets doen

<?php
if(isset($_GET['IBAN'])) {
// hier kan je je query uitvoeren voor specifiek boek bijvoorbeeld met bijbehorende dingen...
}
else {
// hier alle bovenstaande code die ik veranderd heb bijvoorbeeld..
}
?>

ik zou zeggen ga er mee worstelen en we horen het als het niet lukt. ( code is uit het hoofd getikt dus her en der kunnen fouten zitten. )
Hah! bedankt voor je tijd, hier ga ik wel even mee rotzooien en ik laat het jullie weten hoe het is gegaan.

Reageren