link dupa cautare in baza de date

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Avatar utilizator
trif
Mesaje: 500

link dupa cautare in baza de date

salut, vreau sa fac si eu un mic site despre datele studentilor si notele lor si m-am blocat pe aici, am facut un script de cautare studenti si dupa ce dau un nume imi afiseaza studentii dar nu stiu cum sa fac ca daca dau pe un student sa mi se faca o pag noua cu datele studentului respectiv cum este in imaginea de mai jos! Imagine. am facut tot ce imi trebuie adica baza de date, paginile de adaugare, stergere, update dar nu stiu asta. astept raspuns, cu stima trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

MarPlo Mesaje: 4343
Atunci cand iti afiseaza numele cu studentii, preiei din baza de date id-ul acelui nume, iar afisarea o faci ca link in care adaugi acel id, de ex.:
<a href="pagina.php?id=xx">NumeStudent</a>.
Iar in "pagina.php", preiei cu $_GET['id'] id-ul din link si mai departe selectezi si afisezi din baza de date ce apartine de acel id.

trif Mesaje: 500
ms de raspuns, am facut astea si nu vrea sa imi mearga si tot imi da eroare si nu stiu ce este gresit. faza este ca daca nu pun ala cu get-ul imi merge cautarea dar daca pun functia aia (sper ca am pus-o bine) imi da eroare.

Cod: Selectaţi tot

 <?php
require_once('conectare.php'); 
$matricol=trim($_POST['matricol']);
$nume=trim($_POST['nume']);
$prenume=trim($_POST['prenume']);
$query="SELECT * FROM studenti WHERE nume='".$nume."' or prenume='".$prenume."';" ;
$result=mysql_query($query);
$num=mysql_num_rows($result);

if ( $num <> 0 )
{
   echo '<b>Rezultatele cautarii:</b><br>';
   echo '<table border="1" width="450" >';
   echo '<tr> <th> Numele si Prenumele</th> <th> An</th><th> Profil</th> </tr>';
   $i=0;
 if(isset($_GET['matricol']))
    {
        if (!isset($_GET['matricol']))
        {
            $_GET['matricol'] = '';
        }
        else
        {
            $ID = $_GET['matricol'];
        }
        //COD
    }
    else
    {
       
        while ($i < $num and  $row=mysql_fetch_array($result))
        {
            $matricol= $row['matricol'];
   $row=mysql_fetch_array($result);
	echo '<tr>  <td><a href="pagina.php?matricol=$matricol">'.$row['nume'].' '.$row['prenume'].'</td></a> <td>'.$row['an_inscriere'].' </td> <td>'.$row['profil'].' </td> </tr>';
    ++$i;
	
   }echo '</table>';
}  
else
 echo 'Nu avem o astfel de inregistrare';
mysql_close();
?>   
si mai este o problema pe care nu o stiu sa o rez este ca de exemplu studentul il ia din tabelul "studenti" dar am facut un tabel special pentru "materii" si cum sa le combin ca sa imi iasa $_GET['matricol'] (nu este id ci matricol). astept raspuns ms cu stima trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

MarPlo Mesaje: 4343
Nu ai specificat ce eroare da.
Nu inteleg de ce ai pus asa:

Cod: Selectaţi tot

if(isset($_GET['matricol']))
{
if (!isset($_GET['matricol']))
{
$_GET['matricol'] = '';
}
Daca nu exista "$_GET['matricol']" atunci nici ce e inauntrul acelui if() nu se executa, poate aici e problema, depinde de ce eroare era.
La a doua intrebare nu stiu, depinde daca ai facut vreo legatura intre chei ale acelor tabele, daca au ceva comun. Cauta pe net despre "mysql join". La mysql, relatia dintre mai multe tabele, ma pricep prea putin.

trif Mesaje: 500
pai eroarea este asta Parse error: syntax error, unexpected T_ELSE si am pus acolo "matricol" pt ca nu am id in bd ci matricol si no. aia am pus din greseala dar tot eroarea aia imi da si nu imi iasa sa fac cum mi-ai zis "pagina.php?id=xx". si o sa vad aia cu join pe net cum se face dar prima data trebuie sa rez cu preluarea de date si sa imi creeze "pagina.php?id=xx" si nu numai sa imi creeze dar sa imi ia datele de la studentul dorit, si asta nu mai stiu! ms cu stima trif
M-am hotarat!
De ce sa fiu trist?
Oricum nu intereseaza pe nimeni...!
Mai bine sunt fericit si ii enervez pe toti cu fericirea mea!
http://www.cantaricrestine.ro
---> cu stima Trif

claUdiu Mesaje: 313
trif scrie:pai eroarea este asta Parse error: syntax error, unexpected T_ELSE si am pus acolo "matricol" pt ca nu am id in bd ci matricol si no. aia am pus din greseala dar tot eroarea aia imi da si nu imi iasa sa fac cum mi-ai zis "pagina.php?id=xx". si o sa vad aia cu join pe net cum se face dar prima data trebuie sa rez cu preluarea de date si sa imi creeze "pagina.php?id=xx" si nu numai sa imi creeze dar sa imi ia datele de la studentul dorit, si asta nu mai stiu! ms cu stima trif
Pentru a face pagina cu "id=xxx" este simplu deci dupa ce dai sa zicem un search pe site dupa un anumit "student" introduci la numele lui si un link spre pagina profilului lui ex: http://site.do/pagina.php?id='.$rand['id'].' <==asta se face dupa ce fki conn la db, selectare bd si etc... PAgina cu profilu lui se fke la fel uite un exemplu mai jos care lam folosit eu la siteul meu:

Cod: Selectaţi tot

<?php

$conn = mysql_connect("localhost", "user", "parola")
    or die("Unable to connect to MySQL");
$selectdb = mysql_select_db('db');
$utilizator=mysql_real_escape_string($_GET['utilizator']);
$cerereSQL = 'SELECT * FROM tabel WHERE nume_student="'.$_GET['utilizator'].'"'; 
$rezultat = mysql_query($cerereSQL);
if(mysql_num_rows($rezultat) > 0) {
while($rand = mysql_fetch_array($rezultat))	{ 
      echo '<center>
                <table border="0" class="acces" width="97%" bgcolor="#C6E5B7">
              <td><center><font class="black"><b>Profilul utilizatorului </b><font class="general_red"><b>'.$_GET['utilizator'].'</b></font></center><font>
              </td>
                </table>
                </center>';
echo "<table border='0' width='50%'><tr>";

	echo 'Nume Utilizator: '.$_GET['utilizator'].' ';
	echo'<br>';
	echo 'Nume: '.$rand['nume'].'';
  echo'<br>';
	echo 'Prenume: '.$rand['prenume'].' ';
	echo 'Yahoo! ID: '.$rand['yahooid'].' ';
	echo 'Locatie: '.$rand['locatie'].' ';
	echo'<br>';
	echo 'E-mail: '.$rand['email'].' ';
	echo '<br>';
	echo 'Data si ora inregistrarii: '.$rand['data'].' '.$rand['ora'].' ';
	
	
	
echo "</center>";
  }
}
?>
Exepmlu de mai sus este usor de editat sa faci cea ce vrei cu el. Sper ca ai inteles;) [scz daca nam avut voie sa postez:P si daca nu am facut cv bine rog pe MarPlo sa ma correcteze doarece si eu sunt incepator in PHP :D ]
Se spune ca...."omul tot invata in viata". Dar...Totusi...Trebie sa ne oprim undeva, nu?

MarPlo Mesaje: 4343
Oricine e inregistrat are voie sa posteze si multumesc celor care ajuta.

Eroarea este de la un "else" pus aiurea.
Incearca intai mai simplu, fara prea multe imbricari de "if()" si "else", apoi, daca merge, adaugi un "if(isset()) ... else".

Subiecte similare