Jump to content
Fórum Script Brasil
  • 0

Pegar tipo de campo e montar form


Ricardo T. do Prado

Question

Pessoal tenho o código abaixo que monta um tabela/grid:

function grid($tabela){
  
   $query="SELECT  FROM $tabela";
   //executa query de seleção
   $result=mysql_query($query);
   
   //se encontrar registros
   if(mysql_num_rows($result)){
      //preenchimento da Array com o nome dos campos
      for($i=0;$i < mysql_num_fields($result);$i++){
         $campos[$i]=mysql_field_name($result,$i);
      }
      
      //inicio do grid
      $grid="<table cellspacing='1' cellpadding='3' style='border: 1px solid;'>";
      
      //cabecalho do grid
      $grid.="<tr>";
      for($i=0;$i < sizeof($campos);$i++){
         $grid.="<td align='center' style='border: 1px solid;'><b>".$campos[$i]."</b></td>";
      }
      $grid.="</tr>";   
   
      //corpo do grid
      while($row=mysql_fetch_object($result)){
         $grid.="<tr>";
         for($i=0;$i < sizeof($campos);$i++){
            $grid.="<td>".$row->$campos[$i]."</td>";
         }
         $grid.="</tr>";
      }
      //fim do grid
      $grid.="</table>";
      
      echo $grid;
   }
   //se não encontrar registros
   else
      echo "não foi encontrado nenhum registro";
   
   mysql_free_result($result);
}

Só que gostaria de pegar o tipo de cada campo e montar um formulário. tipo: se o campo é tipo varchar imprimisse: <input type="text"> se fosse LONGTEXT, imprimisse o valor dentro de um textarea, deu pra manjar ae?

Abs.

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

cara, faz assim, não sei se vai ajudar mas se é como estou pensando:

Na pagina que você insere os dados no mysql, coloca do lado da <input type="text" > uma hidden assim

<input type="hidden" value="<?php echo "<input type="text" value="$valor retornado da consulta mysql">"?> ">
para textarea, coloca do lado da <textarea ...> uma hidden assim
<input type="hidden" value="<textarea>$valor retornado da consulta mysql</textarea>">

ai você salva as duas no banco de dados. Quando você for buscar seu texto você pega por linha e verifica se é varchar ou textarea.

axo que é isso! vai postando que vou te ajudando...

Link to comment
Share on other sites

  • 0

beuleal,

valeu amigão pelo ajuda, mas essa idéia ai eu já tinha testado. Acho que talvez faltou clareza no que quis expor.

É que tipo. Tenho um painel CMS, só que quando crio uma tabela, exemplo: "noticias", eu tenho que fazer o formulário de LISTAGEM, ISERÇÃO, DELETE, ATUALIZAÇÃO, ex: inserirnoticias.php, listarnoticias.php, delnoticias.php.

A minha idéia é fazer um pequeno framework baseado em dicionário de dados para que, quando eu cadastre uma tabela, exemplo "noticias" ai cadastro ela em outra tabela "DicTable", e cadastro os campos/tipo da mesma no "DicField". Ai finalmente quando chamo a tabela "noticia" no DicTable, ela vai no DicField, pega os tipos dos campos (Varchar/Int, Bool, etc) e na DicField, tem a opção: "ISLOOKUP", se for lookup eu informo a tabela/chave/descrição.

É meio complicado mesmo isso, mas como o framework pronto você adapta o CMS a qualquer website, sem precisar mexer no codigo fonte. Você só irá parametrizar no banco.

Abs.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...