Jump to content
kklo

mysql_query

Recommended Posts

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

Edited by kklo

Share this post


Link to post
Share on other 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.

Edited by Devexz

Contador de calorias: caloriaspordia.com

Share this post


Link to post
Share on other 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

 
Edited by Devexz

Contador de calorias: caloriaspordia.com

Share this post


Link to post
Share on other sites
kklo

deu erro no últomo else.

"Parse error: syntax error, unexpected T_ELSE in"

O código funciona até //F0.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

Edited by kklo

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Edited by 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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?

Edited by kklo

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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.

Edited by kklo

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.