Какой должен быть Запрос, чтобы получить результат, кортежей, в которых значение столбца будет 'x'?
у меня есть следующее query:
$select = "SELECT concat(mid(cpf,1,3),'.',mid(cpf,4,3),'.',mid(cpf,7,3),'-',mid(cpf,10,2)) as cpf, nome, genero, nome_cracha, rg, crm, crm_uf, rua, bairro, cep, cidade,
estado, telefone, celular, fax, email, cna, ano_titulo_especialista, categoria_inscricao,
forma_pagamento, dataconfirmacao, data from inscricao order by nome ASC";
И я хочу, что переменную $x узнайте значение "categoria_inscricao"(query покажет). Хочу, чтобы это сделать следующим образом:
if($x == "valor de categoria_inscricao" ){
...
}
Редактировать
Я использую код, чтобы преобразовать значения из таблицы в Excel. Но я бы вместо того, чтобы отображаться значение столбца, я мог показывает, что если значение столбца равно "x", которое будет отображаться в Excel-это "y".
Следует код:
<?php
if (!isset($_SESSION)) session_start();
if (!isset($_SESSION['usuario'])) {
session_destroy();
header("Location: index.php"); exit;
}
include("conexao.php");
$select = "SELECT concat(mid(cpf,1,3),'.',mid(cpf,4,3),'.',mid(cpf,7,3),'-',mid(cpf,10,2)) as cpf, nome, genero, nome_cracha, rg, crm, crm_uf, rua, bairro, cep, cidade,
estado, telefone, celular, fax, email, cna, ano_titulo_especialista, categoria_inscricao,
forma_pagamento, dataconfirmacao, data from inscricao order by nome ASC";
$export = mysql_query($select) or die ("Sql error : ".mysql_error());
$fields = mysql_num_fields($export);
$header = "";
$data = "";
for ( $i = 0; $i<$fields; $i++ )
{
$header .= mysql_field_name($export, $i)."\t";
}
while( $row = mysql_fetch_row( $export ) )
{
$line = '';
foreach( $row as $value )
{
if ((!isset($value)) || ($value == ""))
{
$value = "\t";
}
else
{
$value = str_replace( '"' , '""' , $value );
$value = '"'.$value.'"'."\t";
}
$line .= $value;
}
$data .= trim( $line ) . "\n";
}
$data = str_replace( "\r" , "" , $data );
if ( $data == "" )
{
$data = "\n(0) Records Found!\n";
}
$novonome = date('Ymd');
header("Content-type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=".$novonome.".xls");
header("Pragma: no-cache");
header("Expires: 0");
print "$header\n$data";
?>
2 answers
Имеет этот пример ниже.
Обратите внимание, что в printf
для сравнения он использует $row["id"]
, то есть как индекс массива, он использует имя поля, которое вы вернетесь.
В вашем случае
if($row['valor de categoria_inscricao'] == $x)
Запишите это ...кроме серьезных тем.
<?php
mysql_connect("localhost", "mysql_user", "mysql_password") or
die("Não foi possível conectar: " . mysql_error());
mysql_select_db("mydb");
$result = mysql_query("SELECT id, name FROM mytable");
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
printf("ID: %s Name: %s", $row["id"], $row["name"]);
}
mysql_free_result($result);
?>
Вы можете ограничить значение исследования в запросе, чтобы сделать это. Например,
SELECT nome
FROM inscricao
WHERE categoria_inscricao = <valor desejado>
ORDERBY nome ASC
Этот запрос будет возвращать только имена строк, в которых значение categoria_inscricao
были заранее определены.
Дополнительные сведения о claúsula WHERE
, нажмите здесь, .