[PHP/MYSQL] Recupero campo USER e visualizzarlo nella tabella pagine

  • Creatore Discussione Creatore Discussione luigi777
  • Data di inizio Data di inizio

luigi777

Utente Attivo
14 Feb 2008
1.086
1
38
42
Massa, Italy
Salve, volevo sapere come posso fare ad visualizzare l'user senza che io nella tabella pagine metto "user" - "user_id"
e normalmente faccio una select e mi recupera tutto.

Solo che vorrei evitare di inserire anche il nome utente "user" nella tabella "pagine" e vorrei che ci fosse solo l'id.

Vi posto il codice (uso una paginazione e popolo una table).

PHP:
<?php
// Includo 
require_once(dirname(__FILE__) . '/../inc.php');
require_once(dirname(__FILE__) . '/admin.php');
require_once(dirname(__FILE__) . "/../template/".$template_admin."/header.php");
?>
<p class="titolo">Pagine</p>
<?php echo "<select onchange=\"document.location.href = '" . $_SERVER['PHP_SELF'] . "?id=' + this.value;\" name=\"utenti\">";?>
   <option value="0">Seleziona Utente</option>
   <?php
	$result = $db->query("SELECT * FROM utenti WHERE user_level=1 or user_level=2")   or die($db->error);
	
	while($row = $result->fetch_array())
	{
	$nome= $row['user'];
	$id = $row['id'];
  ?>
        <option value="<?php echo $id; ?>"><?php echo $nome; ?></option>
        <?php
  }

?>
      </select><p></p>
	  <hr size="2"><?php
require_once(dirname(__FILE__) . '/../lib/paginazione.inc.php');

$query = "SELECT * FROM pagine ORDER BY data DESC LIMIT 10";
$result = $db->query($query);


if (mysqli_num_rows($result) == 0) { echo "Record non trovato"; }
else
{
	
	if(!isset($_GET["id"])){
        $pag = new Paginazione("SELECT * FROM pagine",10, "pagina");
    }else{
         $id = $_GET["id"];
        $pag = new Paginazione("SELECT * FROM pagine WHERE _userid=".$id."",10, "pagina");
    }
	?>
	<table style="text-align: left; width: 100%;" width="100%;" border="0" cellpadding="2"
cellspacing="2">
<tbody>
<tr style="background-color:Gray;color:White;">

<td style="vertical-align: top; text-align: center;">Username
</td>

<td style="vertical-align: top; text-align: center;">Titolo
</td>
<td style="vertical-align: top; text-align: center;">Data
</td>
<td style="vertical-align: top; text-align: center;">Stato Pubblicazione
</td>
<td style="vertical-align: top; text-align: center;">Modifica 
</td>
</td>
<td style="vertical-align: top; text-align: center;">Cancella
</td>
</tr>
	<?php
	// restituisce un array multi-dimensionale con i record
	if($record = $pag->Show())
	{
		foreach($record as $row)
		{
		?>
      <tr>
<td style="vertical-align: top; text-align: center;">
<?php echo "".$row["user"]."";?></td>

<td style="vertical-align: top; text-align: center;">
<?php echo "".$row["titolo"]."";?></td>
<td style="vertical-align: top; text-align: center;">
<?php echo "".$row["data"]."";?></td>
<td style="vertical-align: top; text-align: center;">
<?php echo "".$row["active"]."";?></td>
<td style="vertical-align: top; text-align: center;">
<a href="pag_modifica.php?id=<?php echo "".$row["id"]."";?>" onClick="return confirm('Modifica?');"><img src="../ico/edit_32x32.png" border="0" alt="cancella" title="modifica" /></a></td>
<td style="vertical-align: top; text-align: center;">
<a href="pag_del.php?id=<?php echo "".$row["id"]."";?>"  onClick="return confirm('Cancella?');"><img src="../ico/delete_32x32.png" alt="cancella" border="0" title="cancella" /></a></td>

</tr>
<?php
}
?>
</tbody>
</table>
<?php
}

	else
	{
		echo "Nessun Record Trovato!";
	}
	
	// restituisce i link alle pagine
	if($link = $pag->Link(3))
	{
		?>
		<a href="?pagina=<?php echo $link['first']; ?>">&laquo;</a> <?php
			foreach($link['before'] as $bf)
			{
				?><a href="?pagina=<?php echo $bf;?>"><?php echo $bf;?></a> <?php
			}
			?><?php echo $link['current'];?> <?php
			foreach($link['after'] as $at)
			{
				?><a href="?pagina=<?php echo $at;?>"><?php echo $at;?></a> <?php
			}
		?><a href="?pagina=<?php echo $link['last'];?>">&raquo;</a>
		<?php
	}
	}
?>
<hr size="2">
<a href="pag_aggiungi.php">Aggiungi</a>
<?php

require_once(dirname(__FILE__) . "/../template/".$template_admin."/footer.php");
?>

Mi dite come fare senza che faccio un campo sempre chiamato "user".

In poche parole vorrei usare solo _userid.

grazie e buona serata/buona giornata.

ciao.
da luigi.
 
si. scusate ma cosi funziona:
SELECT * FROM utenti, pagine

però come faccio ad dirgli al $row["utenti.user"] ??

perché mi da errore.

mi sa che devo cambiare campo al db .. se è questo il problema..

perché con campo name e ho cambiato solo il nome nella tabella utenti e sono andato in pagine e si vede il nome nuovo..

ora vedo di cambiare il campo e poi vi faro sapere.

grazie mille.
 
provato con:

<?php echo $_SESSION['user'];?>

ciao e grazie per avermi risposto,

non devo recuperare nessun user con le sessioni..

Faccio una semplice SELECT * FROM pagine..

vedi immagine:

http://i55.tinypic.com/2lawocw.jpg

Ma volevo risparmiare campi..

tab : utenti
tab : pagine

ed ora faccio sempre :

tab utenti:
ID : 1
_user : Luigi
email : ..etc..

tab pagine:
_userID: 1
_user: Luigi

ripeto i vari campi della tab utenti sia in quella tab pagine.

Mi dici come posso risparmiare campi con una select from pagine?

grazie mille..
 
Avendo a disposizione il dato relativo all'id_utente nella tabella "pagina", non ti conviene utilizzarlo per una query dalla tabella degli utenti?
PHP:
"SELECT username FROM utenti WHERE user_id=$id"
così ti eviti di duplicare anche il campo username.
 
Avendo a disposizione il dato relativo all'id_utente nella tabella "pagina", non ti conviene utilizzarlo per una query dalla tabella degli utenti?
PHP:
"SELECT username FROM utenti WHERE user_id=$id"
così ti eviti di duplicare anche il campo username.

ciao, scusa per il ritardo ma ho dovuto fare altre cose..

Dove devo mettere quel codice?

Io faccio normalmente:

PHP:
<td style="vertical-align: top; text-align: center;">
<?php echo "".$row["_user"]."";?></td>

cosi e lui mi stampa il nome.

tu come mi dici di fare?

Perché non sono molto bravo ancora da implementare tutto.. faccio query semplici di più non so fare...

ho sentito parlare di inner join sai qualcosa?

grazie mille.
 
Ultima modifica di un moderatore:
L'importante sarebbe capire se devi estrarre :

solo l'user ..

oppure l'user loggiato in quel momento
 
L'importante sarebbe capire se devi estrarre :

solo l'user ..

oppure l'user loggiato in quel momento

solo il nome dell'user con la "select * from [tabella qualsiasi]"
e poi row["_user"];

non mi serve recuperarlo con le sessioni.. con le sessioni lo recupero già quando uno deve inserire qualcosa.....

Ora mi serve solo per visualizzarlo per dire che ha scritto lui quella pagina .
come fa questo forum.. che scrive chi è a postato il topic.

ti ringrazio e scusatemi se non avete capito.
 
ti faccio un esempio tu adattalo al tuo


PHP:
	<?php

require ("db_connect.php"); 

$id_annunci=$_GET['id'];

$jokelist = @mysql_query("SELECT * FROM annunci, citta, provincia, cliente, regione, tipo, condizioni, users WHERE id_annunci=$id_annunci AND provinciaid=provincia.id AND cittaid=citta.id AND clienteid=cliente.id AND regioneid=regione.id AND tipoid=tipo.id AND condizioniid=condizioni.id AND user_id=users.id LIMIT 1"); 


if (!$jokelist) {
  exit('<p>Error performing query: ' . mysql_error() . '</p>');
}


while ($joke = mysql_fetch_array($jokelist)) {

$id_annunci = $joke['id_annunci'];
$ts = $joke['ts'];
  $descrizione = $joke['descrizione'];
   $mq = $joke['mq'];
    $locali = $joke['locali'];
     $prezzo = $joke['prezzo'];
      $tipologia = $joke['tipologia'];

}

e poi in qualsiasi parte dello script metti per recuperare i vari campi

PHP:
<?php   echo "Regione:$regione<br />";?>
 

Discussioni simili