Sei que existem diversos tópicos por aí sobre esse assunto, contudo, não consegui solucionar o problema, mesmo depois de 1 dia tentando fazer algo até simples.
Seguinte, estou pegando o id de um produto e tentando jogar em outra tabela, pelo checkbox.
ex:
id produto
23 lapis
43 caneta
pelo checkbox, a pessoa escolhe o produto e adicona em uma lista, que é outro banco. Se pessoa selecionar mais de 1 item da lista, o laço só envia para o banco apenas 1 item de qualquer forma.
Vou postar o Código:
Código do INSERT:
$check1 = (isset($_POST["check"]) && $_POST["check"] != null) ? $_POST["check"] : "";
foreach($check1 as $check){
$stmt = $conexao->prepare("INSERT INTO tb_itemProdKit (fk_tb_kit, fk_usuarios, fk_tb_produtos) VALUES (?, ?, ?)");
$stmt->bindParam(1, $nome_prod);
$stmt->bindParam(2, $idSessao);
$stmt->bindParam(3, $check);
if ($stmt->execute()) {
if ($stmt->rowCount() > 0) {
echo "Dados cadastrados com sucesso!";
$id_prod = null;
$nome_prod = null;
$idSessao = null;
$check = null;
header("Location: item-produto-kit.php");exit;
} else {
echo "Erro ao tentar efetivar cadastro";
}
} else {
throw new PDOException("Erro: Não foi possível executar a declaração sql");
}
} } } catch (PDOException $erro) {
echo "Erro: " . $erro->getMessage();
}
Agora o código do checkbox:
if ($stmt->execute()) {
while ($rs = $stmt->fetch(PDO::FETCH_OBJ)) {
echo "<tr>";
echo "<td><input type='checkbox' name='check[]' id='check' value='".$rs->id_prod."'</td><td class='lista_usuario'>".$rs->nome_produto."</td><td class='lista_usuario'>".$rs->desc_prod."</td><td class='lista_usuario'>".$rs->peso_liq_prod
."</td>"
;
echo "</tr>";
}
}else {
echo "Erro: Não foi possível recuperar os dados do banco de dados";
}
} catch (PDOException $erro) {
echo "Erro: ".$erro->getMessage();
}
echo "</form>"
?>
Está cadastrando apenas 1 item e não múltiplos itens.
Acho que não fui tão claro no título, portanto irei esmiuçar melhor aqui...
É o seguinte, quero saber se há algum jeito de pegar as linhas de uma coluna q está em VARCHAR com informações do tipo "4 PONTOS DE ILUMINAÇÃO", dessa informação pretendo retirar somente o número que em questão é o "4" e colocá-lo em outra coluna INTEGER. Há essa possibilidade? Detalhe, as vezes as informações não está seguindo um padrão de vim somente como "4 PONTOS DE ILUMINAÇÃO" às vezes vêm dados com mais informações númericas que precisa distinguir, por exemplo, a mim só interessa pegar números que vem antecedendo as palavras "PONTOS", "PTOS", "PTS", têm algum jeito de distinguir isso?
Preciso de uma ajuda para conectar com o banco. Estava tudo funcionando normalmente com MYSQL agora parou tudo e estou tentando trocar para MYSQLI.
Não acho o erro, já tentei de tudo.
connection.php
<?
function conecta()
{
$host = "localhost";
$user = "admin";
$pass = "123456789";
$db = "principal";
//Conexão
$conexao = mysqli_connect($host, $user, $pass) or die("Erro na conexão:".mysqli_error());
//Selecionar BD
mysqli_select_db($conexao,$db) or die("Erro ao selecionar BD");
}
function desconecta()
{
mysqli_close();
}
?>
validate.php
<?
if (empty($_POST) and (empty($_POST['cpUsuario']) OR empty($_POST['cpSenha'])))
{
header("Location: ../login.php");
exit;
}
else
{
include("connection.php");
conecta();
$varUsuario = $_POST['cpUsuario'];
$varSenha = sha1($_POST['cpSenha']);
$stt = "SELECT ID,txNome,txNivel FROM tbUsuario WHERE txUsuario='$varUsuario' and txSenha='$varSenha' LIMIT 1";
$sql = mysqli_query($conexao,$stt) or die(mysqli_error($conexao));
$existe = mysqli_num_rows($sql);
if ($existe == 0)
{
echo "Login invalido ou inexistente na base";
exit;
}
else
{
$resultado = mysqli_fetch_assoc($sql);
if (!isset($_SESSION))
{
session_start();
}
$_SESSION['UsuarioID'] = $resultado['ID'];
$_SESSION['UsuarioNOME'] = $resultado['txNome'];
$_SESSION['UsuarioNIVEL'] = $resultado['txNivel'];
header("Location: ../menu.php");
exit;
}
}
?>
O erro agora está dando o seguinte:
PHP Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home4/public_html/connection/validate.php on line 17
Linha 17 é essa:
$sql = mysqli_query($conexao,$stt) or die(mysqli_error($conexao));
Se eu tiro o $conexao do mysqli_query ele da erro de "mysqli_query() expects at least 2 parameters, 1 given" e se eu coloco o erro é "mysqli_query() expects parameter 1 to be mysqli, null given"
Olá, sou novo aqui e em SQL Server, estou com um problema para buscar um resultado.
Caso hoje seja segunda, trazer as instalações dos últimos 3 dias (sexta, sábado e domingo), caso não seja, trazer só os de ontem, tentei da forma abaixo e muitas outras e não consegui, desde já agradeço.
SELECT codigoCliente AS [CÓD], CpfCnpj AS [CPF/CNPJ]
,NomeFantasia as [NOME FANTASIA]
,UPPER(NomeContato) as [NOME DE CONTATO]
,CASE WHEN CLI.DDDCelular IS NULL THEN 'NÃO TEM' ELSE DDDCelular END AS [DDD CEL]
,CASE WHEN Celular IS NULL THEN 'NÃO TEM' ELSE Celular END AS CELULAR
,CASE WHEN DDDTelefone IS NULL THEN 'NÃO TEM' ELSE DDDTelefone END AS [DDD TEL]
,CASE WHEN Telefone IS NULL THEN 'NÃO TEM' ELSE Telefone END AS TELEFONE
,DataInstalacao AS [INSTALAÇÃO]
,DATEPART(weekday,DataInstalacao) as [DIASEMANA]
,UPPER(Departamento) AS [DEPTO CAD]
,upper(UsuarioCadastro) as [CADASTRADO POR]
,CASE WHEN UPPER(EMAIL) IS NULL THEN 'NÃO TEM EMAIL' ELSE UPPER(EMAIL) END AS EMAIL
FROM CLIENTE
WHERE
(CASE WHEN (DATEPART(weekday,GETDATE()) = '2' THEN
DATEPART(DAY, DataInstalacao) >= DATEPART(DAY, GETDATE()-3)
ELSE
DATEPART(DAY, DataInstalacao) = DATEPART(DAY, GETDATE()-1)
END)
AND MONTH(DataInstalacao) = MONTH(GETDATE())
AND YEAR(DataInstalacao) = YEAR(GETDATE())
AND Situacao = 'MAQUINA INSTALADA'
Olá, estou com uma query aqui e preciso pegar de 2 campos diferentes os dados diferente de 0, mais quanto tento no AND ele somente traz um resultado, o OR ele traz um dos campos com o valor 0, teria alguma forma de pegar os dados diferente de 0 dos dois campus?
preciso pegar o idOrganizador diferente de 0 e o idPiloto diferente de 0
SELECT * FROM boletos WHERE proc = 0 AND idOrganizador !='0' AND idPiloto ='0';