Newbie 0 Denunciar post Postado Julho 18, 2004 Aew povo! Estou estudando php pelo manual dele, aí cheguei na parte de Arrays..li e entendi tudo, mas até agora não entendi a verdadeira utilidade dele...me dê exemplos?vlw! Compartilhar este post Link para o post Compartilhar em outros sites
klawdyo 0 Denunciar post Postado Julho 18, 2004 Eita... cara, sabe quando voce estudava o 2 ano e olhava pra matrizes, e comentava com o colega do lado "eu nunca vou usar isso na vida!!!" ? pois é...agora chegou a sua vez de ver que estava errado... Arrays é uma das partes mais importantes do PHP. Quer um exemplo? $_GET['url'] <- isso é um array. Você recebeu a variável URL da página anterior via método GET em forma de array. explode(",",$texto) <- Isso quebrará a variável texto pelas "," (vírgulas), e seu resultado será em forma de array. Você ainda vai precisar usar isso, alguma vez. $row =mysql_fetch_array() <- você receberá os dados do mysql em forma de array, e nem tá se dando conta disso. echo $row['nome'] <- isso é um array!! O array abange quase tudo no php, quase tudo voce pode substituir pelos arrays, cara...dominando-os, entendendo-os, voce nao passa sufoco...tudo parece mais simples!!! Não, não recebi pelo comercial!!! Compartilhar este post Link para o post Compartilhar em outros sites
klawdyo 0 Denunciar post Postado Julho 18, 2004 Você também é fã dos arrays Sr. Puttini? Compartilhar este post Link para o post Compartilhar em outros sites
Newbie 0 Denunciar post Postado Julho 18, 2004 Nossa nem tinha me dado conta disso! hehehe.... $var = $_POST['bozo'] nem tinha me dado conta com isso! vlw cara, agora ficou mais facil de entender o que está acontecendo! mas tenho outra dúvida: PHP [/tr][tr]$var = array("bife" => "bozo", "almondega" => "agua_da_salsicha", 1 => 2);/* Qual a utilidade disso??? */[/tr] Não entendi a utilidade disso, ele compara um com o outro e qual a utilidade? flw e vlw pela info! Compartilhar este post Link para o post Compartilhar em outros sites
klawdyo 0 Denunciar post Postado Julho 19, 2004 Nossa nem tinha me dado conta disso! hehehe.... $var = $_POST['bozo'] nem tinha me dado conta com isso! vlw cara, agora ficou mais facil de entender o que está acontecendo! mas tenho outra dúvida: PHP [/tr][tr]$var = array("bife" => "bozo", "almondega" => "agua_da_salsicha", 1 => 2);/* Qual a utilidade disso??? */[/tr] Não entendi a utilidade disso, ele compara um com o outro e qual a utilidade? flw e vlw pela info! Rapaz...eu gosto de dizer, comigo mesmo, que array é uma forma de banco de dados inserido no código.Por exemplo. PHP [/tr][tr]<? $var = array("1" => "bozo", "2" => "agua_da_salsicha", 3 => "batatinha podre"); ?> [/tr] //se voce der um print_r($var) voce vai receber algo do tipo array( [1] = bozo [2] = agua_da_salsicha [3] = batatinha podre ) sentiu o drama? Você tem um mini banco de dados. se você chamar $var[1] voce recebe "bozo", $var[2] = agua_da_salsisha... isso é útil, quer ver um exemplo? PHP [/tr][tr] $tipos=array('1'=>'Mulher', 'Dinheiro', 'Bicho de Pé'); echo "<select>"; for($i=1;$i<=count($tipos);$i++){ echo "<option value=$i>".$tipos[$i]."</option>"; } </select> [/tr] Tudo bem que isso pode ser mais trabalhoso q voce criar manualmente com o dreamweaver, mas isso é porque voce só tem 3 dados, mas se forem mais dados? se voce tiver esses dados todos misturados? separados por ","? se voce tiver recebido de checkboxes da página anterior? São inúmeras alternativas. Recentemente, eu substitui todas as informacoes do portal que to fazendo, de mysql para arrays gravados em arquivos .php... O controle é o mesmo, e ainda evita qualquer pau que possa dar nos seu banco de dados, a nao ser que o hd seja formatado, mas aí o mysql também se fod... Compartilhar este post Link para o post Compartilhar em outros sites
Cristiano A. Franco 0 Denunciar post Postado Julho 19, 2004 Nossa nem tinha me dado conta disso! hehehe.... $var = $_POST['bozo'] nem tinha me dado conta com isso! vlw cara, agora ficou mais facil de entender o que está acontecendo! mas tenho outra dúvida: PHP [/tr][tr]$var = array("bife" => "bozo", "almondega" => "agua_da_salsicha", 1 => 2);/* Qual a utilidade disso??? */[/tr] Não entendi a utilidade disso, ele compara um com o outro e qual a utilidade? flw e vlw pela info! Rapaz...eu gosto de dizer, comigo mesmo, que array é uma forma de banco de dados inserido no código.Por exemplo. PHP [/tr][tr]<? $var = array("1" => "bozo", "2" => "agua_da_salsicha", 3 => "batatinha podre"); ?> [/tr] //se voce der um print_r($var) voce vai receber algo do tipo array( [1] = bozo [2] = agua_da_salsicha [3] = batatinha podre ) sentiu o drama? Você tem um mini banco de dados. se você chamar $var[1] voce recebe "bozo", $var[2] = agua_da_salsisha... isso é útil, quer ver um exemplo? PHP [/tr][tr] $tipos=array('1'=>'Mulher', 'Dinheiro', 'Bicho de Pé'); echo "<select>"; for($i=1;$i<=count($tipos);$i++){ echo "<option value=$i>".$tipos[$i]."</option>"; } </select> [/tr] Tudo bem que isso pode ser mais trabalhoso q voce criar manualmente com o dreamweaver, mas isso é porque voce só tem 3 dados, mas se forem mais dados? se voce tiver esses dados todos misturados? separados por ","? se voce tiver recebido de checkboxes da página anterior? São inúmeras alternativas. Recentemente, eu substitui todas as informacoes do portal que to fazendo, de mysql para arrays gravados em arquivos .php... O controle é o mesmo, e ainda evita qualquer pau que possa dar nos seu banco de dados, a nao ser que o hd seja formatado, mas aí o mysql também se fod... Só corrigindo o amigo klawdyo q por estar apressado se confundio um pouco.O 1º elemento de um array tem índice [0] e não [1]. Assim sendo $var = array("1" => "bozo", "2" => "agua_da_salsicha", 3 => "batatinha podre"); $var[1] seria igual a "agua_da_salchica" e não a "bozo" pq o 1º índice de um array é [0] Gostaria ainda de explicar melhor os 2 tipos de array, um array nomral e um array de variáveis embutidas. Um array normal é, por exemplo, assim: $var = array("bozo", "agua_da_salsicha", "batatinha podre"); echo $var[0]; //vai imprimir "bozo" echo $var[1]; //vai imprimir "agua_da_salsicha" echo $var[2]; //vai imprimir "batatinha podre" um array de variáveis é como seu exemplo acima: $var = array("1" => "bozo", "2" => "agua_da_salsicha", 3 => "batatinha podre"); echo array["1"]; //vai imprimir "bozo" --- perceba q não é o indice dentro dos colchetes e sim um nome de variável embutida no array Eu poderia criar um array assim: $var = array("natal" => "25 de dezembro", "Ano novo" => "31 de dezembro", "dia da criança" => "12 de outubro"); e poderia imprimir os valores da seguinte forma: echo $var["natal"]; // mostraria "25 de dezembro" echo $var["ano novo"]; // mostraria "31 de dezembro" echo $var["dia da criança"]; // mostraria "12 de outubro" É importante notar tb q ao criar array de variáveis os índices ainda podem ser usados pra mostrar o valor. A idéia de criar variáveis dentro de arrays é, entre outras coisas, deixar o código mais claro. A sintaxe a seguir imprimira a mesma coisa da de cima: echo $var[0]; // mostraria "25 de dezembro" --- lembre-se q 0 é o 1º indice de um array e não 1 echo $var[1]; // mostraria "31 de dezembro" echo $var[2]; // mostraria "12 de outubro" Array são úteis d+, como bem falou meu amigo klawdio é como se fosse um mine banco de dados. Neles você armazena um conjunto de valores comuns ou recupera valores de variáveis-arrays globais do php, como $_POST[] por exemplo. E é isso, se quiser saber mais sobre arrays veja na documentação do PHP, lá você aprende muita coisa. Tem muito site q falam sobre arrays tb. Deixa eu ir embora se não me empolgo e começo a falar de várias formas de usar arrays, como por exemplo pra exibir o nome do mês em portugues, em conjunto com date(). :P Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Julho 19, 2004 Só corrigindo o amigo klawdyo q por estar apressado se confundio um pouco. O 1º elemento de um array tem índice [0] e não [1]. Não não, a partir do momento que você define a chave para os valores do array, a chave numérica é perdida, ou seja, o 0 vai deixar de existir, se você tentar usar assim por exemplo: PHP [/tr][tr]$array = array("nome" => "valor");[/tr] E der um echo com o 0: PHP [/tr][tr]echo $array[0];[/tr]Não vai ser retornado nada, pq a chave zero já foi perdida, se no segundo argumento (o segundo valor) do array não for especificado a chave, ela sim vai conter o valor 0, ou seja, colocar entre chaves ou não é indiferente nesse caso e um mesmo valor não pode ter duas chaves ;) Compartilhar este post Link para o post Compartilhar em outros sites
klawdyo 0 Denunciar post Postado Julho 19, 2004 eu defini o primeiro elemento como "1", logo os seguintes serão 2 , 3, etc... no php voce pode definir qualquer tipo de elemento como chave... Compartilhar este post Link para o post Compartilhar em outros sites
Cristiano A. Franco 0 Denunciar post Postado Julho 19, 2004 Entendi errado aqui na apostila.Bem feito pra mim! :wacko: Compartilhar este post Link para o post Compartilhar em outros sites
Cerrito 0 Denunciar post Postado Julho 19, 2004 um boa é uar arrays para verrer formulários, como nesse exemplo...<form action="" METHOD="POST"> <p>Quais os programas que você conhece...</p><p> <input type="checkbox" name="selecionado[]" value="Windows">Windows<br><input type="checkbox" name="selecionado[]" value="Linux">Linux<br><input type="checkbox" name="selecionado[]" value="PHP">PHP<br><input type="checkbox" name="selecionado[]" value="MySQL">MySQL<br><input name="selecionado[]" type="checkbox" id="selecionado[]" value="Flash">Flash<br><input name="selecionado[]" type="checkbox" id="selecionado[]" value="Corel">Corel<br><input name="selecionado[]" type="checkbox" id="selecionado[]" value="PhotoShop">PhotoShop<br><input name="selecionado[]" type="checkbox" id="selecionado[]" value="FireWorks">FireWorks<br><input name="selecionado[]" type="checkbox" id="selecionado[]" value="Dreamweaver">Dreamweaver <br><input type="submit" name="enviar" value="Enviar"></p></form> <?php $cont = 0; // inicio meu cont com zero para contat as opções marcadas...$contador = count($selecionado); // conto quantas opções existem no no total!!!for ($indice = 0; $indice < $contador; $indice++) // laço para varrer as opções...{ if(isset($selecionado)){ // testo para ver se alguma opção foi marcada...$cont = $cont + 1; // caso tenho sido incremento contecho $selecionado[$indice]."<br>"; // mostro na tela as opções!!!} }if(isset($selecionado)){ // caso alguma tenha sido maracada mostro quantas foram!!!echo "<br>você marcou $cont opções";}?> Compartilhar este post Link para o post Compartilhar em outros sites
garotinhacintia 0 Denunciar post Postado Julho 20, 2004 um boa é uar arrays para verrer formulários, como nesse exemplo...<form action="" METHOD="POST"> <p>Quais os programas que você conhece...</p><p> <input type="checkbox" name="selecionado[]" value="Windows">Windows<br><input type="checkbox" name="selecionado[]" value="Linux">Linux<br><input type="checkbox" name="selecionado[]" value="PHP">PHP<br><input type="checkbox" name="selecionado[]" value="MySQL">MySQL<br><input name="selecionado[]" type="checkbox" id="selecionado[]" value="Flash">Flash<br><input name="selecionado[]" type="checkbox" id="selecionado[]" value="Corel">Corel<br><input name="selecionado[]" type="checkbox" id="selecionado[]" value="PhotoShop">PhotoShop<br><input name="selecionado[]" type="checkbox" id="selecionado[]" value="FireWorks">FireWorks<br><input name="selecionado[]" type="checkbox" id="selecionado[]" value="Dreamweaver">Dreamweaver <br><input type="submit" name="enviar" value="Enviar"></p></form> <?php $cont = 0; // inicio meu cont com zero para contat as opções marcadas...$contador = count($selecionado); // conto quantas opções existem no no total!!!for ($indice = 0; $indice < $contador; $indice++) // laço para varrer as opções...{ if(isset($selecionado)){ // testo para ver se alguma opção foi marcada...$cont = $cont + 1; // caso tenho sido incremento contecho $selecionado[$indice]."<br>"; // mostro na tela as opções!!!} }if(isset($selecionado)){ // caso alguma tenha sido maracada mostro quantas foram!!!echo "<br>você marcou $cont opções";}?> Gente... é bem isso que estou precisando...Só que ainda tenho algumas dúvidas de como fazer...Deixa eu explicar minha necessidade...Tenho uma pesquisa de dados. Depois de efetuada a pesquisa, organizei meus resultados em uma tabela, como abaixo: Item - Objeto - Cor<input>1 - Casa - Amarela<input>2 - Carro - Verde<input>3 - Bicicleta - Azul<input>4 - Mesa - RosaOs resultados saem em linhas, onde no inicio de cada linha tem um <input type="radio">, para que o usuario escolha apena um dos produtos pesquisados... depois, quero que através do botao submit ele me passe esses valores da linha selecionada para outra pagina (isso eu consigo, mas nao esta indo os valores de linhas corretos, esta indo qualquer um daqueles)Alguem pode me ajudar, para como eu faço isso? Acho q usando um array eu consigo.. mas nao sei como fazer... :( Obrigada... Compartilhar este post Link para o post Compartilhar em outros sites
michelsp 0 Denunciar post Postado Julho 20, 2004 Ve se é isso, ve se ñ dá algum erro, fiz a olho!!!! hehehe PHP [/tr][tr]<form method="POST"> <input name="nome1" type="radio" value="1">1 <input name="nome1" type="radio" value="2">2 <br> <input name="nome2" type="radio" value="1">1 <input name="nome2" type="radio" value="2">2 <input type="Submit" value="Enviar"> </form> <?php if (isset($_POST['nome1']) And isset($_POST['nome2'])) { echo "Opcao 1 =".$_POST['nome1']; echo "Opcao 2 =".$_POST['nome2']; }[/tr] Bjão!!!! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif Compartilhar este post Link para o post Compartilhar em outros sites
Cerrito 0 Denunciar post Postado Julho 20, 2004 <?php <form name=\"form1\" method=\"post\" action=\"\"> Escolha a cor para seu texto:</span><br> <br> <input name=\"cor[]\" type=\"radio\" value=\"#ffffff\" checked> <span class=\"style7\">Branco</span> <input name=\"cor[]\" type=\"radio\" value=\"#000000\"> <span class=\"style2\">Preto</span> <input name=\"cor[]\" type=\"radio\" value=\"#ff00ff\"> <span class=\"style3\">Rosa</span> <input name=\"cor[]\" type=\"radio\" value=\"#00ff00\"> <span class=\"style4\">Verde</span> <input name=\"cor[]\" type=\"radio\" value=\"#ff6600\"> <span class=\"style5\">Laranja</span> <input name=\"cor[]\" type=\"radio\" value=\"#cccccc\"> <span class=\"style6\">Cinza</span> <input name=envia type=submit id=envia value=Ver> <input type=\"reset\" name=\"Apagar\" value=\"Apagar\"> </p> </form>"; if (isset($envia) { $contador = count($cor); for($indice = 0; $indice < $contador; $indice++) { if(isset($cor)) { $cor_escolhida = $cor[$indice]; } } } /*da uma adaptada mas acho que é isso que você precisa... bjs Marcio*/?> Compartilhar este post Link para o post Compartilhar em outros sites
garotinhacintia 0 Denunciar post Postado Julho 20, 2004 Uma outra coisa q nao entendi... ;) Qual a diferença de usar:<input name="selecionado[]" type="checkbox" value="A">e<input name="selecionado[]" type="checkbox" id="selecionado[]" value="A">?Baseado em qual dos parâmetros que vou ter controle de qual foi marcado para mim pegar os valores? No name ou no id?E pra que serve o id?Obrigada, desculpem a "burrice" mas não entendo muito de php :) Compartilhar este post Link para o post Compartilhar em outros sites
michelsp 0 Denunciar post Postado Julho 20, 2004 name Compartilhar este post Link para o post Compartilhar em outros sites
Cerrito 0 Denunciar post Postado Julho 20, 2004 o id você geralmente usa no javaScript...ao menos é o que notei...no php você usa sempre nome... como disse o michelabraçosMarcio Compartilhar este post Link para o post Compartilhar em outros sites
garotinhacintia 0 Denunciar post Postado Julho 20, 2004 Deixa eu mostrar o que preciso que seja feito: Esse é o resultado da minha pesquisa... Daí preciso fazer essa seleção usando o radio button... Só que mesmo se eu clicar no botão ele não está enviando o valor certo... Envia o último valor... Como posso ajustar meu código pra fazer isso? Eu coloquei esse resultado da consulta em uma tabela q contém um form e que os dados desse form são passados pelo botão submit... só que isso não está acontecendo certo... Acho que o submit só está considerando a última linha da pesquisa/tabela... Ai que entraria o trabalho do vetor... O código gerado fica assim... PHP [/tr][tr]</body> </html><font face='Tahoma' size='2' color='#006600'><b>Escolha o cliente depois clique para confirmar</b><br><br><form name='enviaclientes' method='post' action='formpedidovenda.php'> <input name='confirmacao' type='submit'value='Confirmar'><br><br><table border='1'><tr><td> </td><td align='center'><b>Código</b></td><td align='center'><b>Nome</b></td></tr><tr><td align='center'><input name='contcliente' type='radio' value='1'></center></td><td align='center'><input name='codcliente' type='hidden' value='25'></center>25</td><td> <input name='nomecliente' type='hidden' value='COOPERATIVA A1'>COOPERATIVA A1</td></tr><tr><td align='center'><input name='contcliente' type='radio' value='2'></center></td><td align='center'><input name='codcliente' type='hidden' value='26'></center>26</td><td> <input name='nomecliente' type='hidden' value='COOP ELET RURAL VALE ARACA LTDA'>COOP ELET RURAL VALE ARACA LTDA</td></tr><tr><td align='center'><input name='contcliente' type='radio' value='3'></center></td><td align='center'><input name='codcliente' type='hidden' value='235'></center>235</td><td> <input name='nomecliente' type='hidden' value='COOP DE ELETREFICACAO VALE DO ARACA LTDA'>COOP DE ELETREFICACAO VALE DO ARACA LTDA</td></tr><tr><td align='center'><input name='contcliente' type='radio' value='4'></center></td><td align='center'><input name='codcliente' type='hidden' value='679'></center>679</td><td> <input name='nomecliente' type='hidden' value='COOPERATIVA REGIONAL ITAIPU LTDA'>COOPERATIVA REGIONAL ITAIPU LTDA</td></tr></table></font><br><br> <input name='confirmacao' type='submit'value='Confirmar'><br></form> [/tr] O que estou fazendo errado? :( E onde preciso colocar o array? Obrigada!!!! Compartilhar este post Link para o post Compartilhar em outros sites
michelsp 0 Denunciar post Postado Julho 20, 2004 Tipo, dá uma lida no POST q eu fiz e você adapta, incrementa ele para o seu caso, pq ta funcionando, certo aquele script.Faz um script simples q funcione depois você incrementa, senão fica complicado!!!!Flwwwwwwwwwwwwwwwww Compartilhar este post Link para o post Compartilhar em outros sites
garotinhacintia 0 Denunciar post Postado Julho 20, 2004 Bem amigo...Tentei fazer como você disse, adaptar ao meu caso... só que não estou conseguindo... não tá dando certo porque no seu caso, do seu exemplo, você tem vários radios buttom pra clicar, e eles informa dados diferentes, ou seja, o name="nome1" é independente do name="nome2"...Não sei se estou conseguindo explicar minha dúvida, ou se não estou conseguindo entender sua explicação... :o mas não to conseguindo adaptar para o caso de ter os valores em varias linhas, sendo que cada linha é um conjunto de valores validos, e sendo preciso passar varios valores de uma mesma linha (composta pela coluna codigo e coluna nome), selecionando com o radio button (como na figura do meu ultimo post, q agora ta aparecendo...)Como sou nova no PHP, algumas coisas não consigo entender...E alguém sabe tb onde posso encontrar essa documentação sobre arrays no PHP?Socorro! Me ajudem :blink: Obrigadão mesmo... para todos que já responderam... Compartilhar este post Link para o post Compartilhar em outros sites
michelsp 0 Denunciar post Postado Julho 23, 2004 Um exemplo bem básico Cintia: PHP [/tr][tr]<?phpif (isset($_POST['contcliente'])) { echo $_POST['contcliente']; } ?> <html> <font face='Tahoma' size='2' color='#006600'> <b>Escolha o cliente depois clique para confirmar</b> <br> <br> <form name='enviaclientes' method='post' action=''> <input name='confirmacao' type='submit'value='Confirmar'> <br><br><table border='1'> <tr> <td> </td> <td align='center'><b>Código</b></td> <td align='center'><b>Nome</b></td> </tr> <tr> <td align='center'><input name='contcliente' type='radio' value='1'></center></td> <td align='center'></center>25</td> <td>COOPERATIVA A1</td> </tr> <tr> <td align='center'><input name='contcliente' type='radio' value='2'></center></td> <td align='center'></center>26</td> <td>COOP ELET RURAL VALE ARACA LTDA</td></tr> <tr><td align='center'><input name='contcliente' type='radio' value='3'></center></td> <td align='center'></center>235</td> <td>COOP DE ELETREFICACAO VALE DO ARACA LTDA</td> </tr> <tr> <td align='center'><input name='contcliente' type='radio' value='4'></center></td> <td>COOPERATIVA REGIONAL ITAIPU LTDA</td> </tr> </table> </font> <br> <br> <input name='confirmacao' type='submit'value='Confirmar'> <br> </form>[/tr] Bjão e se ñ for isso só falar q mexo de novo!!!!! hehehehe http://forum.imasters.com.br/public/style_emoticons/default/joia.gif http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites