Ich habe ähnliche Fragen durchsucht, aber ich konnte mein Problem nicht beheben. Wie gehe ich vor, um ein MySQL-Problem in PHP so zu debuggen? Es ist immer sehr zeitaufwendig, die Ursache für diese Fehler zu finden. Es ist so viel einfacher, Fehler in JavaScript zu finden/zu beheben.Undefinierter Index mit MySQL, PHP
Fehler:
Notice: Undefined index: Rolle in C: \ xampp \ htdocs \ Noobs_Search \ serverCode \ findPlayers.php auf der Leitung 48
Notice: Undefined index: Geschlecht in C: \ xampp \ htdocs \ Noobs_Search \ serverCode \ findPlayers.php on line 49
Es ist unter Hinweis auf diese Zeilen:
$role = $row['role'];
$g = $row['gender'];
PHP-Code:
<?php
require "connect.php";
$searchBy = $_GET["field"];
$searchText = $_GET["text"];
$playerSQL = "SELECT *
FROM vw_playerTeamName";
if(isset($GET_["role"]))
{
$role = $_GET["role"];
$playerSQL .= " AND role = $role";// .= is same as +=
}
if(isset($GET_["gender"]))
{
$gender = $_GET["gender"];
$playerSQL .= " AND gender = $gender";// .= is same as +=
}
$result = $mysqli->query($playerSQL);
$pTable = "<div class='table'>
<div class='heading'>
<div class='cell'>ID</div>
<div class='cell'>First</div>
<div class='cell'>Last</div>
<div class='cell'>Email</div>
<div class='cell'>Team</div>
<div class='cell'>Gender</div>
<div class='cell'>Role</div>
</div>";
while($row = $result->fetch_array())
{
$ID = $row['ID'];
$first = $row['first'];
$last = $row['last'];
$email = $row['email'];
$team = $row['team_name'];
$role = $row['role'];
$g = $row['gender'];
$pTable .= "<div class='row'>
<div class='cell'>$ID</div>
<div class='cell'>$first</div>
<div class='cell'>$last</div>
<div class='cell'>$email</div>
<div class='cell'>$team</div>
<div class='cell'>$g</div>
<div class='cell'>$role</div>
</div>";
}
$pTable .= "</div>";
$mysqli->close();
echo $pTable;
?>
JavaScript:
$(document).ready(function()
{
$('#search').click(function()
{
var searchField = $("#searchType").val();
var searchText = $("#searchText").val();
var g = $("input[name=gender]:checked").val();
var r = $("input[name=role]:checked").val();
$.get("serverCode/findPlayers.php",
{
field:searchField,
text:searchText,
role:r,
gender:g
},function(response)
{
$("#placeholder").html(response);
});
});
});
HTML-Code:
<?php
$doc = "<!DOCTYPE html>
<html>
<head>
<title>Noobs Search Page</title>
<script src='clientCode/jquery-1.12.2.min.js'></script>
<script src='clientCode/search.js'></script>
<link href='css/tableStyle.css' rel='stylesheet'>
</head>
<body>
<select id='searchType'>
<option value='first'>First Name</option>
<option value='last'>Last Name</option>
<option value='email'>Email</option>
</select>
<input id='searchText' type='text' name='text'>
<p>Role<br>
<input type='radio' name='role' value='Pion'>Pion
<input type='radio' name='role' value='Captain'>Captain
<input type='radio' name='role' value='Assistant Captain'>Assistant Captain
</p>
<p>Gender<br>
<input type='radio' name='gender' value='M'>Male
<input type='radio' name='gender' value='F'>Female
</p>
<p>
<input type='button' name='search' id='search' value='search'>
<input type='button' name='clear' value='clear'>
</p>
<div id='placeholder'></div>
</body>
</html>";
echo $doc;
?>
Können Sie 'print_r' die' $ result-> fetch_array() ' –
versuchen print_r ($ result-> fetch_array()) vor der while-Schleife zu tun, und dann werden Sie Ihre Array-Daten als Schlüssel erhalten = > Wert der Schlüssel ist der Index Versuch, den gleichen Schlüssel zu verwenden, der in dem Ergebnis ist, erhalten Sie – PacMan
Was suche ich im Array? Array ([0] => 4 [ID] => 4 [1] => Esme [erste] => Esme [2] => Torosa [letzte] => Torosa [3] => eeyoro @ mail .abc [email] => [email protected] [4] => 1 [team_id] => 1 [5] => Die Ups [team_name] => Die Ups) – Calisto