prendere record da + tabelle

ho una tabella che dovrebbe prendere i record da un'altra tabella... come faccio??

tabella 1

username

pass

email

gruppo =>tabella gruppi

tabella 2

nome gruppo ^questo qui deve andare nel campo gruppo della tabella 1

id gruppo

inviato 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

Quando si progetta un DB bisogna partire dai dati che si vogliono memorizzare, analizzarli e decidere come distribuirli nelle tabelle. Nel tuo caso ci sono degli utenti con i loro dati e dei gruppi che probabilmente avranno delle altre caratteristiche peculiari.

Se un utente può apartenere SOLO ad un gruppo allora è corretto procedere con 2 tabelle, una per gli utenti ed una per i gruppi. La tabella dei gruppi deve contenere un id_gruppo che identifichi univocamente il gruppo. Sarà la chiave primaria della tabella gruppi.

Nella tabella utenti specificherai per ogni utente, in una apposita colonna id_gruppo, l'id del gruppo di appartenenza.

Per recuperare tutte le informazioni di un utente bisogna fare una query del tipo:

SELECT * from utenti, gruppi WHERE utenti.grupo_id = gruppi.gruppo_id

Se ci sono utenti che non appartengono ad alcun gruppo si procede in maniera diversa.

 :bye:

Buon Anno!!! :D

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

ok si io ho anche il campo group_id :D quindi devo solo fare la query un pò diversa...credevo di dover fare altro  :idiot:

buon 2006 a tutti

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X
   

   $query = "SELECT * from `".$prefix."members`,`".$prefix."groups` WHERE `".$prefix."members`.group = `".$prefix."groups`.group_id";

   $result = mysql_query($query) or die(mysql_error());

   

   $user_info = mysql_fetch_array($result);

ora mi sorge il dubbio....quando assegno il gruppo ad un utente devo usare una select che mi mostra i nomi del gruppo e quando salvo il gruppo faccio una query per inserire l'id del gruppo selezionato nel campo group dell'utente

giusto??

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X

codice finale :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>view</title>

<style type="text/css">

<!--

.body {

   font-family: Arial, Helvetica, sans-serif;

   font-size: 10px;

   color: #666666;

}

-->

</style>

</head>

<body class="body">

<p>

  <?php

   require("config/rvk_config.php");

   require("install/funcs/functions.php");

   

   $query = "SELECT * from `".$prefix."members`,`".$prefix."groups` WHERE `".$prefix."members`.group = `".$prefix."groups`.group_id";

   $result = mysql_query($query) or die(mysql_error());

   

   $data = mysql_fetch_array($result);

   

    echo "username : $data[username] <br />";

       echo "email : $data[email] <br />";

          echo "gruppo : $data[group_name] <br />";

             if (!$data[group_title] == "")

            {

            echo "titolo : $data[group_title] <br />";

            }

                echo "rank : ", '<img src="', $data[group_rank], '" />';

               

               

         echo "cambia gruppo";

         

      $query_gruppo = "SELECT `group_id`, `group_name` FROM `".$prefix."groups`";

      $select_gruppo = mysql_query($query_gruppo);

               

   ?>

</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<p>&nbsp;</p>

<form id="gruppi" method="post" action="">

  <p>

    <select name="cambia_gruppo" class="body">

   <?php while ($gruppi = mysql_fetch_array($select_gruppo))

      {

      echo '<option value="', "$gruppi[group_id]", '">', "$gruppi[group_name]", '</option>';

        }

     ?>

    </select>

    nuovo gruppo 

  </p>

  <p>

    <input name="username" type="text" class="body" id="username" size="100" />

  username</p>

  <p>

    <input name="Submit" type="submit" class="body" value="cambia" />

  </p>

</form>

</body>

</html>

<?php

   $username = trim($_POST[username]);

   

   if ($_POST && $username != $data[username])

   {

   echo "username non trovato!";

   exit();

   }

   elseif($_POST)

   {

   $query = "UPDATE `".$prefix."members` SET `group` = '$_POST[cambia_gruppo]' WHERE `username` = '$username'";

   $result = mysql_query($query) or die(mysql_error());

   }

   if (mysql_error() === "" && $_POST)

   {

   echo "$username è stato spostato";

   redirect("0","query.php");

   }

   

?>
risposto 10 anni fa
Andrea Turso
Andrea Turso
86
modificato 10 anni fa
X 0 X

ora mi sorge il dubbio....quando assegno il gruppo ad un utente devo usare una select che mi mostra i nomi del gruppo e quando salvo il gruppo faccio una query per inserire l'id del gruppo selezionato nel campo group dell'utente

giusto??

esatto  O0

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

si funziona infatti!....vedi che sto imparando gianni? :coolsmiley:

risposto 10 anni fa
Andrea Turso
Andrea Turso
86
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda