我正在使用Android Studio应用程序,并且使用了Firebase实时数据库。我有一个问题,请寻求帮助。数据库中的表名称为<!DOCTYPE html>
<html>
<head>
</head>
<body>
<h1>Login</h1>
<form id="idForm" action="login_api.php" method="post" target="_blank">
Name <input type="text" name="username" required/><br>
Password <input type="text" name="password" required/><br>
<input type="hidden" name="req" value="login">
<input type="submit" id="submit" value="Create"/>
</form>
</body>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<script>
$("#idForm").submit(function(e) {
var form = $(this);
var url = form.attr('action');
$.ajax({
type: "POST",
url: url,
data: form.serialize(), // serializes the form's elements.
success: function(data)
{
console.log(data); // show response from the php script in console.
}
});
e.preventDefault(); // avoid to execute the actual submit of the form.
});
</script>
</html>
,属性为Hospital
,hospital_name
,hospital_code
,hospital_password
,hospital_phone
。
信息添加成功,但是我无法从数据库中检索信息(医院名称和医院代码),并且我搜索并使用了不同的方法,但问题仍然存在。应该的代码将从hospital_email
表中检索信息,并在应用程序中显示它。
Hospital
数据库结构:
答案 0 :(得分:0)
不要使用
.child("Hospital").child("QCH")
供参考
您的ref
将在此
FirebaseDatabase.getInstance().getReference().child("Hospital")
您将获得dataSnapshot
修改
尝试将dataSnapshot转换为您的Hospital模型并从中获取值
FirebaseDatabase.getInstance()。getReference()。child(“ Hospital”)。child(“ QCH”)
答案 1 :(得分:0)
如果您想通过身份证获得特定的医院。
使用以下查询。
databaseRef.orderByChild("hostpital_code").equals(yourCode);
因此,您的完整查询将是:
ref = FirebaseDatabase.getInstance().getReference().child("Hospital").orderByChild("hostpital_code").equals("QCH");
如果您有任何问题,请告诉我。
答案 2 :(得分:0)
根据您的评论:
单个记录,其中医院代码=“ QCH”
请使用以下代码行:
DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
DatabaseReference ref = rootRef.child("Hospital").child("QCH");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String hospitalName = dataSnapshot.child("hospital_name").getValue(String.class);
String hospitalCode = dataSnapshot.child("hospital_code").getValue(String.class);
Log.d(TAG, hospitalName + " / " + hospitalCode);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
}
};
ref.addListenerForSingleValueEvent(valueEventListener);
您的logcat中的结果将是:
hjkk / QCH
答案 3 :(得分:0)
ref = FirebaseDatabase.getInstance().getReference().child("Hospital");
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
//use for loop iterator here
for(DataSnapshot data1:dataSnapshot){
//this will print the key and value in console use it as you wish.
log.i("TAG",data1.child().getKey()+"::"+data1.child.getValue());
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});