Je tente de générer dynmiquement une table qui a un bouton radio par ligne dont la valeur est définie sur le champ ID d'une table SQL. Je ne sais pas comment je peux référencer cette valeur en utilisant CGI radio_group. Dans mes recherches, radio_group utilise un tableau associatif, mais si je convertis la requête SQL en tableau associatif, les valeurs ne correspondront pas car il y a plus de 2 tables dans la requête. Si possible, je voudrais éviter un second appel SQL:perl CGI radio_group: remplir les valeurs de la requête DB
use CGI;
use DateTime::Format::MySQL;
$epoch = DateTime->now(time_zone=>"America/New_York");
$fmtnow = DateTime::Format::MySQL->format_datetime($epoch);
$iasql = qq { select * from alert where endtime > '$fmtnow'};
$iaqry = $iadb->prepare($iasql);
$iaqry->execute() || die "Fail $DBI::errstr"
print $query->start_table({-border=>1, -cellpadding =>1});
while(@iarows = $iaqry->fetchrow_array()) {
print $query->Tr(print $query->td([print $query->radio_group('iaselect',\@iarows[0]),'@iarows[1]','@iarows[2]','@iarows[3]','@iarows[4]','@iarows[5]']));
}
print $query->end_table();
Désolé, ce code n'est pas compilé. La description du problème est également difficile à comprendre. Veuillez expliquer ce qu'est «ID» et ce que vous entendez exactement »référencez la valeur«. Veuillez fournir un programme minimal mais ** complet ** qui fonctionne avec 'use strict; utiliser les avertissements; ', décrire la partie pertinente de la structure de votre schéma de base de données/table, et fournir des exemples de données qui se retrouvent dans' @ iarows'. – daxim
'use strict; utiliser des avertissements; Et ce qui est arrivé à des espaces réservés? – Zaid
Je ne sais pas ce que vous faites mal, mais permettez-moi de suggérer que vous n'utilisez pas les routines de génération HTML dans CGI. Ils ont tendance à gêner et sont généralement agaçants. Si vous avez seulement besoin d'une sortie HTML simple, utilisez "ici documents". Si vous avez besoin de beaucoup de choses sophistiquées, Template Toolkit est une solution très bien éprouvée. –