Autor Zpráva
RioTek
Profil *
Dobrý den,
Potřeboval bych pomoct s profily uživatelů, v databázi mám uložené informace o registrovaných uživatelů, ty potřebují vypsat do jednotlivých profilů a nevím jak napsat kód, který by z databáze vytáhl jen ty informace o daném uživateli, také při registrovaní nového uživatele by se mu měl vytvořit profil ...
př. Jsem zaregistrovaný pod uživatelem Riotek, přečtu si nějaký článek od uživatele X, kliknu na něho a měl by se vypsat jeho email,Vlastní jméno,ICQ apod..
Takový systém je třeba i zde na jakpsatweb.cz, děkuji vám za vaše nápady a návrhy

Moderátor Joker: Přesunul jsem do Jak něco udělat?
RioTek
Profil *
Jej spletl jsem si tema, za to se omlouvam, prosím přesuňte mi to tam kam to patří děkuji
Joker
Profil
RioTek:
Informace o uživateli z databáze vytáhne SELECT dotaz.

Obecně to funguje tak, že máte třeba skript profil.php, kterému předáte ID uživatele, třeba profil.php?id=1, skript pošle SELECT do databáze a zobrazí data o daném uživateli.

S čím máte konkrétně problém?
RioTek
Profil *
Aha, tak, ale nevím jak mu předat ID uživatele, v Table mam vypsané ID všech uživatelů, pomocí Select je můžu vypsat, ale moc jsem nepochopil jak vybrat jen jednoho uživatele..
RioTek
Profil *
Tak jsem to vyřešil Takto:
1. script: - "uzivatele"
<?php 
require "db.php";

  $sql = "SELECT id, name FROM user";
  if ($result = mysql_query($sql)) {
    if (mysql_num_rows($result)) {
      while ($row = mysql_fetch_assoc($result)) {
        header ("Location: profil.php?id={$row['id']}'>{$row['name']}");
      }
    }
  }

?>
- ten by měl zjistit konkretního uživatele a jeho ID
2. script - profil
require "db.php";

 if (isset( $_GET [ 'id' ])) { 
 $id = mysql_real_escape_string ( $_GET [ 'id' ]); 
 $sql = "SELECT id, name, email, country FROM user WHERE id = ' $id ' LIMIT 1" ; 
 if ( $result = mysql_query ( $sql )) { 
 if ( mysql_num_rows ( $result )) { 
 $row = mysql_fetch_assoc ( $result ); 
 echo $row [ 'id' ]. '<br />' ; 
 echo $row [ 'name' ]. '<br />' ; 
 echo $row [ 'country' ]. '<br />' ; 
 echo $row [ 'email' ]. '<br />' ; 
 } 
 } 
 } 
- nyní již na základě prvního scriptu vypíše údaje o uživateli, bohužel mě asi nefunguje 1. script a pořád to vypisuje špatné ID, respektive to pořád odkazuje na
profil.php?id=2, přítom je vybrán uživatel s ID 1... Nevíte jak by to šlo opravit?
RioTek
Profil *
No tak, pomůže mi prosím někdo?
Kcko
Profil
Si oprav ten WHILE v tom prvnim skriptu, tam byt totiz nema.
RioTek
Profil *
A co tam teda má být, když ne WHILE ???
Už se s tím trápím 2 dny a pořád mě to nefunguje....
mattyZEM
Profil
Proč používáte na query příkaz "SELECT ....." atd. proměnnou a pak až to vkládáte do mysql_query()?
Keeehi
Profil
RioTek:
<?php 
require "db.php";
  $sql = "SELECT id FROM user WHERE name='jeho_nick'";
  if ($result = mysql_query($sql)) {
    if (mysql_num_rows($result)==1) {
      list($idecko) = mysql_fetch_row($result);
      header ("Location: profil.php?id=$idecko");
    }
  }
?>

mattyZEM:
Mně osobně to přijde hezčí, přehlednější.
mattyZEM
Profil
Keeehi:
Mně osobně to přijde hezčí, přehlednější.
Já tedy, když se na to dívám nic co by to dělalo přelednější nevidím. Spíše naopak, pak hledat kde co je by se mi nechtělo :)
Keeehi
Profil
mattyZEM:
Je klidně možné, že to takto tobě nevyhovuje. A když ses ptal, tak jsem ti odpověděl. Já jsem si na to také takto zvykl a tak to i používám.

PS: Ještě jsem si vzpomněl na jednu výhodu. Když tuším, že mám někde v dotazu chybu, tak za to fláknu echo $dotaz; a hned vidím, kde je problém.
RioTek
Profil *
Tak FUNGUJE !!! Díky moc všem, kteří se zúčastnili této diskuse :)

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0