J'ai déjà une table de base de données appelée "form"; J'ai ajouté un nouveau champ dans la même table.
Le problème est dans la requête select * from "form"
. Les anciens champs sont affichés, mais pas le nouveau.
Je ne sais pas pourquoi rien ne s'affiche encore; la requête est correcte. L'erreur est:
Variable non définie: Num dans C:\xampp\htdocs\velocizzare\modules\mod_client\mod_client.php à la ligne 96
Essayer d'obtenir la propriété de non-objet dans C:\xampp\htdocs\velocizzare\modules\mod_client\mod_client.php en ligne 96
Mon code est:
if(isset($_POST['BtnConsulter'])){
$_SESSION["del"]=$_POST['BtnConsulter'];
$user = JFactory::getUser();
$db = JFactory::getDBO();
$queri=$db->getQuery(true);
$queri->select('*');
$queri->from('ml0ak_chronoengine_chronoforms_datatable_formulaire');
$queri->where('NuméroK10='.$_POST['BtnConsulter']);
$db->setQuery ($queri);
$users = $db->loadObjectList();
foreach ( $users as $us){
$Cognome=$us->Cognome;
$civilite=$us->civilite;
$Email=$us->Email;
$TelCellulaire=$us->TelCellulaire;
$AutreTel=$us->AutreTel;
$DataDiNascita=$us->DataDiNascita;
$Ville=$us->Ville;
$PaysNaissance=$us->PaysNaissance;
$ResidenteInCitta=$us->ResidenteInCitta;
$Provincia=$us->Provincia;
$Num->$us->Num; // <-- Line 96
);
echo"<br />Nome: $Nome";
echo"<br />Cognome: $Cognome";
echo"<br />E-mail: $Email";
echo"<br />Tel/Cellulare: $TelCellulaire";
echo"<br />Autre Tel: $AutreTel";
echo"<br />Data di nascita: $DataDiNascita";
echo"<br />Ville: $Ville";
echo"<br />Pays de Naissance: $PaysNaissance";
echo"<br />Residente in (Citta): $ResidenteInCitta";
echo"<br />Provincia: $Provincia";
echo"<br /> Num: $Num";
J'ai effacé le cache, cela ne fonctionne pas S'il vous plaît, quelle est la solution?
Le problème est ceci $Num->$us->Num;
. Vous ne le définissez pas correctement.
Alors remplacez-le par ceci:
$Num = $us->Num;
Vous voudrez peut-être aussi améliorer un peu votre code. Essayez ce qui suit:
$jinput = JFactory::getApplication()->input;
$BtnConsulter = $jinput->get('BtnConsulter', '');
if ($BtnConsulter)
{
$user = JFactory::getUser();
$session = JFactory::getSession();
$db = JFactory::getDbo();
$session->set('del', $BtnConsulter);
$query = $db->getQuery(true);
$query->select('*')
->from($db->qn('#__chronoengine_chronoforms_datatable_formulaire'))
->where($db->qn('NuméroK10') . ' = ' . $db->q($BtnConsulter));
$db->setQuery ($query);
$users = $db->loadObjectList();
foreach ($users as $us)
{
$Cognome = $us->Cognome;
$civilite = $us->civilite;
$Email = $us->Email;
$TelCellulaire = $us->TelCellulaire;
$AutreTel = $us->AutreTel;
$DataDiNascita = $us->DataDiNascita;
$Ville = $us->Ville;
$PaysNaissance = $us->PaysNaissance;
$ResidenteInCitta = $us->ResidenteInCitta;
$Provincia = $us->Provincia;
$Num = $us->Num;
echo "<br>Nome: $Nome";
echo "<br>Cognome: $Cognome";
echo "<br>E-mail: $Email";
echo "<br>Tel/Cellulare: $TelCellulaire";
echo "<br>Autre Tel: $AutreTel";
echo "<br>Data di nascita: $DataDiNascita";
echo "<br>Ville: $Ville";
echo "<br>Pays de Naissance: $PaysNaissance";
echo "<br>Residente in (Citta): $ResidenteInCitta";
echo "<br>Provincia: $Provincia";
echo "<br>Num: $Num";
}
}
Lors de la déclaration des variables d'ensemble de résultats à l'intérieur de la boucle foreach()
, utilisez spacing/tabs pour aligner l'opérateur d'assignation =
. Cela vous aidera à voir les incohérences dans votre code. Cette technique est utilisée à quelques endroits dans le document sur les normes de codage php de Joomla :