2010-07-05 5 views
1

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(); 
+3

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

+1

'use strict; utiliser des avertissements; Et ce qui est arrivé à des espaces réservés? – Zaid

+2

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. –

Répondre

0

Ouais je pense Im va nix la la méthode de bouton radio CGI pour cette partie et ont juste l'impression print "<input type="radio">;, il fonctionne de cette façon. J'essayais seulement d'utiliser cette méthode parce que je n'avais pas réalisé qu'il y avait des méthodes start_div et end_div. Avant de les trouver, je pensais que c'était mon seul moyen d'atteindre les boutons radio à l'intérieur du conteneur q-> div().

J'ai exclu la partie Div du code car elle ne semblait pas pertinente.

+1

S'il vous plaît modifier votre question, plutôt que d'ajouter une non-réponse. – Ether

Questions connexes