Printversie van een bepaalde persoon

Status
Niet open voor verdere reacties.

bartwebdesign

Gebruiker
Lid geworden
16 jul 2006
Berichten
443
Ik zoek een script dat zorgt dat alle opmerkingen van een bepaalde leerling uitprint.

Dus als ik op een aparte pagina in een dropdown een leerling selecteer en op print klik, dat er dan alleen van die leerling de opmerkingen uitrollen.

Hoe is dit mogelijk?
 
Simpele SELECT-query achter de waarde van die dropbox hangen...

Daarna een simpel AJAX scriptje gebruiken, staat hier.

Ik gebruik die zelf ook op deze pagina.
 
Laatst bewerkt:
Ik begrijp je niet :(
De bovenstaande handelingen zorgen er voor dat jij de dingen kunt doen die je vraagt.

Dus waarom zou je dat niet doen?

Als je daar iets niet van snapt dan is het zinvoller om dat te zeggen zodat we je daarmee kunnen helpen.
 
Ik heb verschillende id's in de database.

Dus die ene site geeft maar 1 id weer.
 
Ik zoek een script dat zorgt dat alle opmerkingen van een bepaalde leerling uitprint.

Je zegt hier dat je een enkele leerling wilt hebben... (dus ook maar 1 ID)

Dus als ik op een aparte pagina in een dropdown een leerling selecteer en op print klik, dat er dan alleen van die leerling de opmerkingen uitrollen.
Je moet in je dropdown menu dan bij elke leerlingnaam (ik neem aan dat je namen gebruikt) in je HTML de ID van deze leerling neerzetten...

PHP:
<option value ="1">Leerling A</option>
<option value ="2">Leerling B</option>
enz...


Deze waarde vraag je vervolgens op bij het ophalen uit de database..

Ik heb overigens de links van Tha Devil niet gevolgt, maar het zou een deel van je vragen over zijn code moeten beantwoordden....
 
Ik haal die leerlingen uit een andere tabel dan de leerlinggegevens zelf.

dus iedere keer als ik een opmerking toevoeg, krijgt hij automatisch een andere id.

Dus hoe doe ik dit nu?
 
Kan je de titels van de kolommen van beide tabellen hier weergeven (of alle tabellen)...

Ik hoop dat er een link tussen de leerlinggegevens en de mededelingen zijn, anders heb je een vrij vreemd systeem.. =)
Ik kan het nu niet uit je verhaal halen, wat ik moet hebben

Uiteindelijk zal je de ID's van de leerlinggegevens en de mededelingen moeten combineren, waarmee je je uitvoer regelt..
 
Geeft maar 1 id weer? Dat heb je het niet goed gedaan.

Ik neem aan dat je in je "Opmerkingen"-tabel een koppeling hebt gemaakt naar de id van de gebruiker.

Dus:

1. Leerlingenlijst genereren + Display pagina
index.php
PHP:
<?php
//MySQL gegevens
include('config.php');

//Lijst met leerlingen genereren
function createStudentList() {
  $studQuery = "SELECT * FROM leerlingen";
  $studResult = mysql_query($studQuery) or die(mysql_error());
  echo '<select name="studentId" onChange="showNotes(this.value)">';
  while($studRow = mysql_fetch_array($studResult)) {
    echo '<option value="'. $studRow['id'] .'">'. $studRow['naam'] .'</option>';
  }
  echo '</select>';
}
?>
<html>
<head>
 <title>Opmerkingen per leerling</title>
 <script src="selectNote.js"></script>
</head>
<body>
<center>
 <form method="post">
  <?php createStudentList(); ?>
 </form>
</center>
<div id="noticeField">Selecteer een leerling</div>
</body>
</html>
<?php
// MySQL connectie beeindigen
mysql_close($connection);
?>
2. AJAX scriptje gebruiken
selectNote.js
PHP:
// JavaScript Document
var xmlHttp

function showNotes(str)
{ 
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
 {
 alert ("Browser does not support HTTP Request")
 return
 }
var url="getnotice.php"
url=url+"?id="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged 
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

function stateChanged() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
 { 
 document.getElementById("noticeField").innerHTML=xmlHttp.responseText 
 } 
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 //Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp;
}
3. Opmerkingen per leerling weergeven
getnotice.php
PHP:
<?php
include('config.php');
$id = $_GET['id'];
if(isset($id) && is_int($id)) {
  $noticeQuery = "SELECT * FROM opmerkingen WHERE userid = '". $id ."'");
  $noticeResult = mysql_query($noticeQuery) or die(mysql_error());
  while($noticeRow = mysql_fetch_array($noticeResult)) {
    echo $noticeRow['opmerking'] .'<br />';
  }
} else {
  echo 'No ID entered or the entered ID is not an integer!';
}
?>

Pas de database dingen aan (Query's en tabelgegevens), maak een config.php bestand aan en upload deze 3 bestanden.

Tada, je vraag is opgelost ;)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan