Ir para o conteúdo
kklo

mysql_query

Mensagens Recomendadas

kklo

Boa noite a todos!

Estou com quebrando acabeça e não consigo resolver. Sou novato nesta área de php e tenho um codigo que funciona, mas como mudei o DB e as colunas, tive que mudar o código também.

Este cógido exporta dados para SCV.

<?php
  ini_set( 'display_errors', true );
  error_reporting( E_ALL );
//ob_start();
 include "conexao.php";
 session_start();
 include "envia_email.php";
 $vInicio = 0;
 if ($_REQUEST['de'] != '')
 {
 $vInicio = $_REQUEST['de'];
 }
 $vFim = 0;
 if ($_REQUEST['ate'] != '')
 {
 $vFim = $_REQUEST['ate'];
 }

 $vlimite = " ";
 $voffset = "";
 if ($_REQUEST['offset'] != "")
 {
 $vOffset = " OFFSET "& $_REQUEST['offset'];
 $vlimite = " LIMIT 50 ";
 }
 $vCond = "";
 if ($_REQUEST['pendente'] == "1")
 {
 $vCond = " enviar = 0 ";
 $vlimite = " LIMIT 50 ";
 }
 $campos = "*";

 if ($vInicio != "0")
 {
 $sql= "SELECT
		 listings.*, listings_properties.object_sid, listings_properties.id,
		 listings_properties.value, listings_properties.complex_enum
	 FROM
		 listings INNER JOIN
		 listings_properties ON listings_properties.object_sid = listings.sid
	 WHERE
		 listings.sid >= $vInicio and sid <= $vfim $vlimite";

	 }
 else
   if ($voffset != "")
   {
       $sql = "SELECT
       	 listings.*, listings_properties.object_sid, listings_properties.id,
	        listings_properties.value, listings_properties.complex_enum
        FROM
      	  listings INNER JOIN
	        listings_properties ON listings_properties.object_sid = listings.sid
        WHERE
	        listings.sid > 0 $vlimite $voffset";
  }
 if ($vCond != "")
 {
		 $sql = "SELECT
       	    listings.*, listings_properties.object_sid, listings_properties.id,
       	 listings_properties.value, listings_properties.complex_enum
        FROM
      	  listings INNER JOIN
      	  listings_properties ON listings_properties.object_sid = listings.sid
        WHERE
      	  $vCond $vlimite";
	 }
 else
 {
       $sql = "SELECT
       	 listings.*, listings_properties.object_sid, listings_properties.id,
	        listings_properties.value, listings_properties.complex_enum
	    FROM
     	   listings INNER JOIN
       	    listings_properties ON listings_properties.object_sid = listings.sid
           WHERE
      	  listings.sid > 0 LIMIT 50 ";
  }
  $res = mysql_query($sql, $conecta);
  $dados = mysql_fetch_array($res);
  $numcandidatos = $dados[0];

  $resultado = mysql_query($sql, $conecta);

  if($resultado)
  {
       $linhaatual = 1;
       $nlinhas = mysql_num_rows($resultado);
       echo " nlinhs=".$nlinhas;
       echo "<br />";

       while($reg = mysql_fetch_array($resultado))
        {
            echo "<br />";
	        echo $reg['CPF'] . " " . $reg['NomeCompleto'] . " ";

	 // A0
           $id			       = $reg["sid"];
        $cpf	        	 = $reg["CPF"];
        $nome			 = $reg["NomeCompleto"];
   	    $endereco	   = $reg["Endereco"];

	 // F0
   	   $result = mysql_query("SELECT
             listings_properties.value
       FROM
		 listings INNER JOIN
		 listings_properties ON listings.sid = listings_properties.object_sid
	  WHERE
           listings_properties.id = 'WorkExperience:CompanyName' AND listings_properties.complex_enum = '1'");


	   if (!$result) {
	          die('Invalid query: ' . mysql_error());
	        }
       $texto1			 = $reg["listings_properties.value"];


	  $result = mysql_query("SELECT
          listings_properties.value
       FROM
		  listings INNER JOIN
          listings_properties ON listings.sid = listings_properties.object_sid
      WHERE
		  listings_properties.id = 'WorkExperience:CompanyName' AND listings_properties.complex_enum = '2'");


	 if (!$result) {
	      die('Invalid query: ' . mysql_error());
		 }
      $texto2			 = $reg["listings_properties.value"];


	 /*************** Construindo arquivo SCV ***************/

	 $handle = fopen ("send/cv" . $cpf . ".scv", "w+");

	 /* Conteúdo do arquivo */
	 $conteudo ="A0#SCPF#SNOME#SENDERECO\n"
.
	 "A1#" . $cpf . "#" . $nome . "#" . $endereco . #\n" .
	 $conteudo .= "F0#SCPF#BYSEQUENCIA#SNOMEEMPRESA#\n";
    # F0 - Histórico

          $conteudo .= "F1#$cpf#1#$texto1#\n";
		  $conteudo .= "F1#$cpf#2#$texto2#\n";
		  $conteudo .= "F1#$cpf#3#$texto3#\n";
		  $conteudo .= "F1#$cpf#4#$texto4#\n";
	 /* Fim do arquivo */

	 fwrite($handle, $conteudo);
	 fclose($handle);

	 $linhaatual++;

  //prepara e envia os dados (arquivo) via email
  $p_codigo = $cpf;
  $assunto = 'CCTur - cadastro de candidato';
     $mensagem = 'Envio do curriculo de candidato cadastrado pelo site';
     $arquivo = "send/cv".$cpf.".scv";
     sendMail("scvitae@cctur.com.br", "info@cctur.com.br", $mensagem, $assunto,$arquivo );

 //atualiza que ja foi enviado para SCVitae

 } // fim while


 # Envia e-mail com o arquivo SCV gerado

     }
 else
 {
 echo "Erro! Não foi possível carregar os dados.";
 }
?>

O problema é que a variável $reg["listings_properties.value"]; não carrega os dados que deveriam ir para $texto1 e $texto2

Alguém podem me ajudar?

kklo

Editado por kklo

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Devexz

nem me apeteceu ler o código que tens aí.

mete o código entre as tags


E depois qualquer um de nós facilmente conseguir-te-á ajudar no teu problema.

Editado por Devexz

Ás vezes, mais vale deixar a assinatura em branco.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Devexz

a seguir ao while mete este código e mostra-nos o output:

while($reg = mysql_fetch_array($resultado))
{
echo "<pre>";
print_r($reg);
echo "</pre>";
// o teu código
....

Outra coisa, edita a tua questão e mete

 
Editado por Devexz

Ás vezes, mais vale deixar a assinatura em branco.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

deu erro no últomo else.

"Parse error: syntax error, unexpected T_ELSE in"

O código funciona até //F0.

se o problema é esse só existe uma solução

indenta o código correctamente para saber onde está o problema


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
kklo

o problema todo é só este:

$result = mysql_query("SELECT
		 listings_properties.value
		 FROM
					 listings INNER JOIN
					 listings_properties ON listings.sid = listings_properties.object_sid
			 WHERE
	 listings_properties.id = 'WorkExperience:CompanyName' AND listings_properties.complex_enum = '1'");


			 if (!$result) {
					 die('Invalid query: ' . mysql_error());
				 }
		 $texto1				 = $reg["listings_properties.value"];

Esta query esta funcionando no phpmyadmin, mostra exatamente o que eu quero. O que acontece é que o $reg["listings_properties.value"], deveria carregar o valor que esta na tabela e que no phpmyadmin apresenta, não sei se é erro de variável, ou erro de sintaxe, ou se pode ter duas, tres ou mais query no mesmo codigo, sem ter conflitos.

Editado por kklo

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
N3lson

o $texto 1 não não deveria estar dentro do if ?


You can't do it, kid. But don't worry, my boy. You're not the only one. No one else can do it.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

o $texto 1 não não deveria estar dentro do if ?

???

Esta query esta funcionando no phpmyadmin, mostra exatamente o que eu quero. O que acontece é que o $reg["listings_properties.value"], deveria carregar o valor que esta na tabela e que no phpmyadmin apresenta, não sei se é erro de variável, ou erro de sintaxe, ou se pode ter duas, tres ou mais query no mesmo codigo, sem ter conflitos.

podes ter milhentas queries sem problemas porque os pedidos que estás a efectuar são atómicos.

isso desde que não confundas o uso dos recordset's de retorno das chamadas com arrays de registos ainda com outros arrays de registos obtidos anteiormente !!!

while($reg = mysql_fetch_array($resultado))
 /* ... */

 $result = mysql_query(" /* ... */ ");        // query
 $texto1 = $reg["listings_properties.value"]; // $reg está a ser atribuido no while e não na query que acabaste de fazer !!!

ps : esse código continua ilegível, tiveste sorte que eu me desse ao trabalho de tentar ler isso ...


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
N3lson

happyhippyhippo acho que o $texto1 já se encontrava dentro do while

informei do if pois independente da query ser feita ou não o $texto1 é sempre o mesmo daí ter indicado

Ele deveria era fazer o fetch se for essa a intenção

Editado por N3lson

You can't do it, kid. But don't worry, my boy. You're not the only one. No one else can do it.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

informei do if pois independente da query ser feita ou não o $texto1 é sempre o mesmo daí ter indicado

o if serve para terminar o script caso a query falhe, logo é irrelevante se a atribuição seja dentro ou fora do if

Ele deveria era fazer o fetch se for essa a intenção

claro ...


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
kklo

Eu coloquei esta query para diferenciar o $texto1 do $texto2, que são registros diferentes, mas se eu colocar esta condicional listings_properties.complex_enum = '1'" lá no iniico no $sql, o valor será atribuido somente para o $texto1, e como vou preencher o $texto2?

Editado por kklo

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo

Eu coloquei esta query para diferenciar o $texto1 do $texto2, que são registros diferentes, mas se eu colocar esta condicional listings_properties.complex_enum = '1'" lá no iniico no $sql, o valor será atribuido somente para o $texto1, e como vou preencher o $texto2?

Ele deveria era fazer o fetch se for essa a intenção


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
kklo

seria isto?

$texto = mysql_fetch_row($result);
echo $texto[1]; // $texto1
echo $texto[2]; // $texto2

Se for, onde eu poderia colocar este fetch? Acima do

$texto1		  = $reg["listings_properties.value"];
$texto2		  = $reg["listings_properties.value"];

ou colocaria junto ao $sql?

Desculpem as perguntas, mas sou novato nesta área, na realidade sou curioso.

Desde já agradeço a ajuda e esforço de todos.

Editado por kklo

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.